より高度なモデルを作る
将来の寄付を予測するうえで最も良い指標のひとつは、直近かつ高頻度で金額も大きい寄付の履歴です。マーケティングではこれは R/F/M と呼ばれます。
- Recency(直近性)
- Frequency(頻度)
- Money(金額)
最近かつ頻繁に寄付していないドナーは、特に再び寄付する可能性が高いかもしれません。言い換えると、直近性と頻度の「組み合わせ」の効果は、それぞれ個別の効果の単純な合計よりも大きくなる可能性があります。
これらの予測変数は一緒に従属変数へより大きな影響を与えるため、結合効果は交互作用としてモデル化する必要があります。donors データセットは読み込まれています。
この演習はコースの一部です
Rで学ぶSupervised Learning:分類
演習の手順
donatedを従属変数、moneyとrecencyとfrequencyの交互作用を説明変数とするロジスティック回帰モデルを作成します。交互作用項の追加には*を使います。- モデルの
summary()を確認し、交互作用効果が追加されていることを確かめます。 - モデルの予測確率を
rfm_probとして保存します。predict()関数を使い、type引数を設定することを忘れないでください。 roc()関数で ROC 曲線をプロットします。この関数は、実測の目的変数の列と予測値のベクトルを受け取る点に注意してください。- 新しいモデルの AUC を
auc()関数で計算し、より単純なモデルと性能を比較します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Build a recency, frequency, and money (RFM) model
rfm_model <- ___
# Summarize the RFM model to see how the parameters were coded
# Compute predicted probabilities for the RFM model
rfm_prob <- ___
# Plot the ROC curve and find AUC for the new model
library(pROC)
ROC <- ___
plot(___, col = "red")
auc(___)