私はsklearnのWebページからこれを得た:scikitのパイプラインとmake_pipelineの違いは何ですか?
a)のパイプライン:最終推定と変換のパイプライン
B)Make_pipeline:与えられた推定からパイプラインを構築します。これは、Pipelineコンストラクタの略語です。
しかし、私はそれぞれを使用する必要があるときはまだ理解していません。誰か私に例を与えることができますか?
私はsklearnのWebページからこれを得た:scikitのパイプラインとmake_pipelineの違いは何ですか?
a)のパイプライン:最終推定と変換のパイプライン
B)Make_pipeline:与えられた推定からパイプラインを構築します。これは、Pipelineコンストラクタの略語です。
しかし、私はそれぞれを使用する必要があるときはまだ理解していません。誰か私に例を与えることができますか?
唯一の違いは、make_pipeline
がステップの名前を自動的に生成することです。
ステップ名が必要です。モデル選択ユーティリティ(たとえばGridSearchCV)でパイプラインを使用する場合Pipeline
で、だから、
pipe = make_pipeline(CountVectorizer(), LogisticRegression())
param_grid = [{'logisticregression__C': [1, 10, 100, 1000]}
gs = GridSearchCV(pipe, param_grid)
gs.fit(X, y)
:
pipe = Pipeline([('vec', CountVectorizer()), ('clf', LogisticRegression()])
param_grid = [{'clf__C': [1, 10, 100, 1000]}
gs = GridSearchCV(pipe, param_grid)
gs.fit(X, y)
はmake_pipelineと比較:グリッド検索を使用すると、パイプラインの様々なステップのパラメータを指定する必要が
clf__C
を使用できます。make_pipeline
:
これらはいつでも使用できます:)私は、より速い実験ではmake_pipelineを、より安定したコードではPipelineを使用することをお勧めします。経験則:IPythonノートブック - > make_pipeline;より大きなプロジェクトのPythonモジュール - >パイプライン。しかし、短いスクリプトやノートブックのモジュールやパイプラインでmake_pipelineを使うのは確かに大したことではありません。