[解決済み] scikitのpipelineとmake_pipelineの違いは何ですか?
2022-03-04 23:12:32
質問
sklearnのウェブページから入手しました。
-
パイプライン : 最終的な推定を伴う変換のパイプライン
-
メイクパイプライン : 与えられた推定値からパイプラインを構築する.これはPipelineコンストラクタの省略形である.
しかし、それぞれをどのような場合に使用しなければならないのか、まだ理解できていません。どなたか例を挙げていただけませんか?
どのように解決するのですか?
唯一の違いは
make_pipeline
は、ステップの名前を自動的に生成します。
ステップ名は、例えば、モデル選択ユーティリティ(GridSearchCVなど)でパイプラインを使用する場合に必要です。グリッドサーチでは、パイプラインの様々なステップにパラメータを指定する必要があります。
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と比較してみてください。
pipe = make_pipeline(CountVectorizer(), LogisticRegression())
param_grid = [{'logisticregression__C': [1, 10, 100, 1000]}
gs = GridSearchCV(pipe, param_grid)
gs.fit(X, y)
ということで
Pipeline
:
- の名前は明示されているので、必要であれば把握する必要はない。
-
ステップで使用する estimator/transformer を変更しても名前は変わりません。例えば LogisticRegression() を LinearSVC() に変更しても
clf__C
.
make_pipeline
:
- より短く、間違いなく読みやすい記法です。
- の名前は簡単なルールで自動生成される(推定量名は小文字)。
いつ使うかはあなた次第です :) 私は、手っ取り早く実験したいときはmake_pipeline、より安定したコードにしたいときはPipelineを使います。経験則としては、IPython Notebook -> make_pipeline; Python module in a larger project -> Pipeline。しかし、モジュールではmake_pipelineを、短いスクリプトやノートブックではPipelineを使うことは、確かに大したことではありません。
関連
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] パラメータに**(ダブルスター/アスタリスク)、*(スター/アスタリスク)がありますが、これはどういう意味ですか?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
python call matlab メソッドの詳細
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない