適合率と再現率
適合率と再現率は、前のレッスンで説明した4つの予測結果に関連しており、どのMachine Learningモデルにとっても重要な評価指標です。広告のCTRモデルでは、理想的には適合率が高い(広告費に対するROIが高い)ことと、再現率が高い(適切なオーディエンスに届いている)ことが求められます。適合率と再現率は手計算も可能ですが、sklearn には既存のワークフローに簡単に組み込める便利な実装があります。この演習では、決定木をセットアップし、適合率と再現率を計算します。
pandas モジュールはワークスペースで pd として利用でき、サンプルのDataFrameは df として読み込まれています。特徴量は X、目的変数は y に読み込まれており、そのまま使用できます。さらに、sklearn.metrics の precision_score() と recall_score() も利用可能です。
この演習はコースの一部です
PythonでMachine Learningを使ってCTRを予測する
演習の手順
Xとyの学習用・テスト用の分割を作成します。- 決定木分類器を定義し、モデルを学習して予測
y_predを作成します。 sklearnの実装を用いて適合率と再現率のスコアを取得します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Set up training and testing split
X_train, X_test, y_train, y_test = ____(
____, ____, test_size = .2, random_state = 0)
# Create classifier and make predictions
clf = ____
y_pred = clf.____(____, _____).____(X_test)
# Evaluate precision and recall
prec = ____(y_test, ____, average = 'weighted')
recall = ____(y_test, ____, average = 'weighted')
print("Precision: %s, Recall: %s" %(prec, recall))