適合率、ROI、AUC
投資収益率(ROI)は、適合率と、収益とコストの比の積に分解できます。これまでに説明したとおり、ROC 曲線の AUC が高くても、モデルの適合率が低い場合があります。適合率が低いと、ROI も低くなります。この演習では、固定の r(一定のインプレッション数あたりのクリックによる収益)と cost(一定のインプレッション数あたりのコスト)を仮定し、MLP を用いてサンプルの ROI を計算します。あわせて、適合率と ROC 曲線の AUC の値を用いて、これら3つの値がどのように変化するかを確認します。
ワークスペースには、X_train、y_train、X_test、y_test が用意されています。clf は MLP 分類器、確率スコアは y_score、予測ラベルは y_pred に格納されています。pandas は pd として、sklearn も利用可能です。
この演習はコースの一部です
PythonでMachine Learningを使ってCTRを予測する
演習の手順
- MLP 分類器の適合率
precを計算します。 - 適合率
precに基づいて合計 ROI を計算します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Get precision and total ROI
prec = ____(y_test, ____, average = 'weighted')
r = 0.2
cost = 0.05
roi = ____ * r / cost
# Get AUC
roc_auc = roc_auc_score(y_test, y_score[:, 1])
print("Total ROI: %s, Precision: %s, AUC of ROC curve: %s" %(
roi, prec, roc_auc))