学習データとテストデータでモデルを評価する
auc_train_test 関数は、train セットでモデルを構築し、test セットで評価したときの AUC を計算します。
auc_train, auc_test = auc_train_test(variables, target, train, test)
ここで variables はモデルで使用する変数名のリストです。
この演習では、この関数を使って、学習データとテストデータの AUC が近いかどうかを確認します。
この演習はコースの一部です
Pythonで学ぶ予測分析入門
演習の手順
basetableは読み込まれています。学習用データが全体の70%になるように分割し、学習用とテスト用でターゲットの発生率(incidence)が同じになるようにしてください。- 予測子として
"age"と"gender_F"を使い、auc_train_test関数で学習データとテストデータの AUC を計算してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Load the partitioning module
from sklearn.model_selection import train_test_split
# Create DataFrames with variables and target
X = basetable.drop('target', 1)
y = basetable["target"]
# Carry out 70-30 partititioning with stratification
X_train, X_test, y_train, y_test = ____(X, y, test_size = ____, stratify = ____)
# Create the final train and test basetables
train = pd.concat([X_train, y_train], axis=1)
test = pd.concat([X_test, y_test], axis=1)
# Apply the auc_train_test function
auc_train, auc_test = ____([____, ____], ["target"], ____, ____)
print(round(auc_train,2))
print(round(auc_test,2))