始める無料で始める

学習データとテストデータでモデルを評価する

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))
コードを編集して実行