始める無料で始める

パイプライン内での前処理

Ames住宅データを正しく処理するために個別に必要な手順を確認しました。ここでは、よりシンプルで簡潔な DictVectorizer の方法を使い、XGBoostRegressor と並べて scikit-learn のパイプラインに組み込みましょう。

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

XGBoost で学ぶ極限の勾配ブースティング

コースを見る

演習の手順

  • sklearn.feature_extraction から DictVectorizer を、sklearn.pipeline から Pipeline をインポートします。
  • XLotFrontage 列にある欠損値を 0 で埋めます。
  • パイプラインの各ステップを完成させます。"ohe_onestep" には DictVectorizer(sparse=False)"xgb_model" には xgb.XGBRegressor() を指定します。
  • Pipeline()steps を使ってパイプラインを作成します。
  • Pipeline を学習させます。DictVectorizer が理解できる形式に変換するため、X に対して to_dict("records") メソッドを呼び出すのを忘れないでください。

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

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

# Import necessary modules
____
____

# Fill LotFrontage missing values with 0
X.LotFrontage = ____

# Setup the pipeline steps: steps
steps = [("ohe_onestep", ____),
         ("xgb_model", ____)]

# Create the pipeline: xgb_pipeline
xgb_pipeline = ____

# Fit the pipeline
____
コードを編集して実行