sklearn.pipelineのPipeline

1059 ワード

パイプメカニズムは、パッケージ順に順次実行されるメカニズムであり、機械学習アルゴリズムに適用される根源は、パラメータセットの新しいデータセット(例えば、テストセット)での繰り返し使用にある.
具体的なコードは以下の通りです.
from sklearn.pipeline import Pipeline # 
from sklearn.preprocessing import StandardScaler # 
from sklearn import datasets # 
from sklearn.model_selection import train_test_split # 
from sklearn.neighbors import KNeighborsClassifier #knn  

iris = datasets.load_iris()
X_train,X_test,y_train,y_test = train_test_split(iris.data,\
                        iris.target,test_size=0.1)

pipe=Pipeline(steps=[('standardScaler',StandardScaler()),\
                     ('knn',KNeighborsClassifier(n_neighbors=5))])
pipe.fit(X_train,y_train) # 
pipe.predict(X_test) # 
print('Test accuracy: %.3f' % pipe.score(X_test, y_test))# 

Pipelineのstepsはリスト構造であり、中にはtupleが1つずつ構成されており、上記のコードには(1)均一化(2)KNN分類器という2つの構造が含まれている.Stepにいくつかのtupleがあるにかかわらず、最後の1つは必ず分類器(回帰器)であり、前のモジュールは各種のデータを処理するモジュールであってもよい.
各モジュールには、モジュールで使用するパラメータを書き込むことができます.
参照先:https://blog.csdn.net/lanchunhui/article/details/50521648