始める無料で始める

正解率だけではない評価

この演習では、正解率を見るだけでなく、基本的な決定木モデルに対して ROC 曲線の AUC を評価します。ランダムな分類器のベースラインは AUC が 0.5 であることを思い出してください。したがって、目標は 0.5 より高いスコアを達成することです。

X は特徴量の DataFrame、y は目的変数の DataFrame として利用可能です。sklearnpandaspd)もワークスペースで利用できます。

このセットアップを使って、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)
コードを編集して実行