この記事では、LazyPredict を使用して単純な ML モデルを作成する方法について説明します。 LazyPredictによる機械学習モデルの作成の特徴は、大量のコードを必要とせず、パラメータを変更することなく複数モデルのフィッティングを実行し、多数のモデルの中から最もパフォーマンスの高いモデルを選択できることです。 ############まとめ#########
この記事では、LazyPredict を使用して単純な ML モデルを作成する方法について説明します。 LazyPredictによる機械学習モデルの作成の特徴は、多くのコードを必要とせず、パラメータを変更することなく複数モデルのフィッティングを実行し、多数のモデルの中から最もパフォーマンスの高いモデルを選択できることです。
この記事には次の内容が含まれています。
!pip install lazypredict
from sklearn.datasets import load_breast_cancer from lazypredict.Supervised import LazyClassifier data = load_breast_cancer() X = data.data y= data.target
LazyClassifier( verbose=0, ignore_warnings=True, custom_metric=None, predictions=False, random_state=42, classifiers='all', )
from lazypredict.Supervised import LazyClassifier from sklearn.model_selection import train_test_split # split the data X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state =0) # build the lazyclassifier clf = LazyClassifier(verbose=0,ignore_warnings=True, custom_metric=None) # fit it models, predictions = clf.fit(X_train, X_test, y_train, y_test) # print the best models print(models)
model_dictionary = clf.provide_models(X_train,X_test,y_train,y_test)
model_dictionary['LGBMClassifier']
ここでは、SimpleImputer がデータセット全体に使用され、次に StandardScaler が数値特徴に使用されていることがわかります。このデータセットにはカテゴリ特徴や順序特徴はありませんが、存在する場合は、OneHotEncoder と OrdinalEncoder がそれぞれ使用されます。 LGBMClassifier モデルは、変換と分類後にデータを受け取ります。
LazyClassifier の内部機械学習モデルは、評価とフィッティングに sci-kit-learn ツールボックスを使用します。 LazyClassifier 関数が呼び出されると、デシジョン ツリー、ランダム フォレスト、サポート ベクター マシンなどを含むさまざまなモデルが自動的に構築され、データに適合します。精度、再現率、F1 スコアなど、指定した一連のパフォーマンス指標は、これらのモデルを評価するために使用されます。トレーニング セットはフィッティングに使用され、テスト セットは評価に使用されます。
モデルを評価してフィッティングした後、LazyClassifier は評価結果の概要 (上の表を参照) と、上位モデルのリストおよび各モデルのパフォーマンス指標を提供します。モデルを手動で調整したり選択したりする必要がないため、多くのモデルのパフォーマンスを迅速かつ簡単に評価し、データに最適なモデルを選択できます。
「LazyRegressor」関数を使用して、回帰モデルに対して同じ作業を再度実行できます。回帰タスクに適したデータセットをインポートしましょう (ボストン データセットを使用)。
ここで、LazyRegressor を使用してデータを当てはめてみましょう。
from lazypredict.Supervised import LazyRegressor from sklearn import datasets from sklearn.utils import shuffle import numpy as np # load the data boston = datasets.load_boston() X, y = shuffle(boston.data, boston.target, random_state=0) X = X.astype(np.float32) # split the data X_train, X_test, y_train, y_test = train_test_split(X, y,test_size=0.3,random_state =0) # fit the lazy object reg = LazyRegressor(verbose=0, ignore_warnings=False, custom_metric=None) models, predictions = reg.fit(X_train, X_test, y_train, y_test) # print the results in a table print(models)
コードの実行結果は次のとおりです:
以下是对最佳回归模型的详细描述:
model_dictionary = reg.provide_models(X_train,X_test,y_train,y_test) model_dictionary['ExtraTreesRegressor']
这里可以看到SimpleImputer被用于整个数据集,然后是StandardScaler用于数字特征。这个数据集中没有分类或序数特征,但如果有的话,会分别使用OneHotEncoder和OrdinalEncoder。ExtraTreesRegressor模型接收了转换和归类后的数据。
LazyPredict库对于任何从事机器学习行业的人来说都是一种有用的资源。LazyPredict通过自动创建和评估模型的过程来节省选择模型的时间和精力,这大大提高了模型选择过程的有效性。LazyPredict提供了一种快速而简单的方法来比较几个模型的有效性,并确定哪个模型系列最适合我们的数据和问题,因为它能够同时拟合和评估众多模型。
阅读本文之后希望你现在对LazyPredict库有了直观的了解,这些概念将帮助你建立一些真正有价值的项目。
崔皓,51CTO社区编辑,资深架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。
原文标题:LazyPredict: A Utilitarian Python Library to Shortlist the Best ML Models for a Given Use Case,作者:Sanjay Kumar
以上がLazyPredict: 最適な ML モデルを選択してください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。