パイプライン内での前処理
Ames住宅データを正しく処理するために個別に必要な手順を確認しました。ここでは、よりシンプルで簡潔な DictVectorizer の方法を使い、XGBoostRegressor と並べて scikit-learn のパイプラインに組み込みましょう。
この演習はコースの一部です
XGBoost で学ぶ極限の勾配ブースティング
演習の手順
sklearn.feature_extractionからDictVectorizerを、sklearn.pipelineからPipelineをインポートします。XのLotFrontage列にある欠損値を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
____