始める無料で始める

次に入れる最適な変数を選ぶ

前向き逐次(forward stepwise)変数選択は、空の変数集合から始め、各ステップで次に最適な変数を追加していく方法です。この手順を実装するために、便利な関数を2つ用意しました。

auc 関数は、与えられた変数集合 variables を説明変数とするモデルの AUC を計算します。next_best 関数は、次のステップで変数リストに追加すべき変数を計算します。

この演習では、これらの関数の目的をより深く理解するために実験します。与えられた変数集合の AUC を計算し、次に追加すべき変数を求め、それが実際に最適な AUC につながることを確認します。

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

Pythonで学ぶ予測分析入門

コースを見る

演習の手順

  • auc 関数はすでに実装済みです。"max_gift""mean_gift""min_gift" を説明変数とするモデルの AUC を計算してください。これらの変数をリストにして、auc 関数の最初の引数として渡します。
  • next_best 関数はすでに実装済みです。現在 "max_gift""mean_gift""min_gift" がモデルに含まれており、候補となる次の説明変数が "age""gender_F" のとき、次に追加すべき変数を計算してください。next_best 関数の最初の引数は現在の変数のリスト、2番目の引数は候補となる説明変数のリストです。
  • "max_gift""mean_gift""min_gift""age" を説明変数とするモデルの AUC を計算してください。
  • "max_gift""mean_gift""min_gift""gender_F" を説明変数とするモデルの AUC を計算してください。

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

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

# Calculate the AUC of a model that uses "max_gift", "mean_gift" and "min_gift" as predictors
auc_current = ____([____, ____, ____], ["target"], basetable)
print(round(auc_current,4))

# Calculate which variable among "age" and "gender_F" should be added to the variables "max_gift", "mean_gift" and "min_gift"
next_variable = ____([____, ____, ____], [____, ____], ["target"], basetable)
print(next_variable)

# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "age" as predictors
auc_current_age = ____([____, ____, ____, ____], ["target"], basetable)
print(round(auc_current_age,4))

# Calculate the AUC of a model that uses "max_gift", "mean_gift", "min_gift" and "gender_F" as predictors
auc_current_gender_F = ____([____], ["target"], basetable)
print(round(auc_current_gender_F,4))
コードを編集して実行