正解率だけではない評価
この演習では、正解率を見るだけでなく、基本的な決定木モデルに対して ROC 曲線の AUC を評価します。ランダムな分類器のベースラインは AUC が 0.5 であることを思い出してください。したがって、目標は 0.5 より高いスコアを達成することです。
X は特徴量の DataFrame、y は目的変数の DataFrame として利用可能です。sklearn と pandas(pd)もワークスペースで利用できます。
このセットアップを使って、ROC 曲線の AUC を確認していきます。
この演習はコースの一部です
PythonでMachine Learningを使ってCTRを予測する
演習の手順
- データを学習用とテスト用に分割します。
- 学習データで分類器を学習し、
predict_proba()とpredict()を使ってテストデータに対する予測を行います。 roc_curve(y_test, y_score[:, 1])のように、roc_curve()関数をy_testに対して用いて、ROC 曲線下面積(AUC)を評価します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Training and testing
X_train, X_test, y_train, y_test = \
____(X, y, test_size = .2, random_state = 0)
# Create decision tree classifier
clf = DecisionTreeClassifier()
# Train classifier - predict probability score and label
y_score = clf.fit(____, ____).predict_proba(____)
y_pred = clf.fit(____, ____).predict(____)
# Get ROC curve metrics
fpr, tpr, thresholds = ____(____, y_score[:, 1])
roc_auc = auc(fpr, tpr)
print(roc_auc)