腎疾患ケーススタディ III: フルパイプライン
いよいよ、すべての変換と XGBClassifier を組み合わせて、フルパイプラインを作成します!
前の演習で作成した numeric_categorical_union に加えて、必要な変換が 2 つあります。こちらで用意した Dictifier() 変換と、DictVectorizer() です。
パイプラインを作成したら、どれくらい性能が出るかを確認するために交差検証を行ってください。
この演習はコースの一部です
XGBoost で学ぶ極限の勾配ブースティング
演習の手順
numeric_categorical_union、Dictifier()、DictVectorizer(sort=False)の各変換と、max_depth=3を指定した推定器xgb.XGBClassifier()を使ってパイプラインを作成します。各変換の名前は"featureunion"、"dictifier"、"vectorizer"、推定器は"clf"としてください。cross_val_score()を使ってpipelineに対して 3 分割の交差検証を実行します。引数にはパイプラインpipeline、特徴量kidney_data、目的変数yを渡し、scoringは"roc_auc"、cvは3に設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create full pipeline
pipeline = ____([
("____", ____),
("____", ____),
("____", ____),
("____", ____)
])
# Perform cross-validation
cross_val_scores = ____(____, ____, ____, ____="____", ____=____)
# Print avg. AUC
print("3-fold AUC: ", np.mean(cross_val_scores))