始める無料で始める

はじめてのパイプライン — もう一度!

不整脈スタートアップに戻り、月例レビューが近づいています。今回は熟練のPythonプログラマがあなたのコードをレビューします。そこでベストプラクティスに従って整理することにし、特徴量選択とランダムフォレスト分類のスクリプトをパイプラインに置き換えます。学習用データセットは X_trainy_train として用意されており、使用するモジュールは特徴量選択のための RandomForestClassifierSelectKBest()f_classif()、そして GridSearchCVPipeline です。

この演習はコースの一部です

Python で設計する Machine Learning ワークフロー

コースを見る

演習の手順

  • サンプルコードで与えられた特徴量セレクタとランダムフォレスト分類器を使ってパイプラインを作成します。最初のステップ名は feature_selection としてください。
  • params に2つのキーと値の組を追加します。セレクタの特徴量数 k は 10 と 20、フォレストの n_estimators は 2 と 5 を候補とします。
  • 与えられたパイプラインとパラメータグリッドで GridSearchCV オブジェクトを初期化します。
  • オブジェクトをデータに適合させ、最も良い性能のパラメータ組み合わせを出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Create pipeline with feature selector and classifier
pipe = ___([
    (___, SelectKBest(f_classif)),
    ('clf', ___(random_state=2))])

# Create a parameter grid
params = {
   'feature_selection__k':___,
    ___:[2, 5]}

# Initialize the grid search object
grid_search = ___(___, ___=params)

# Fit it to the data and print the best value combination
print(grid_search.fit(___, ___).___)
コードを編集して実行