始める無料で始める

Collective Inferencing

Collective inferencing は、相互に接続されたデータに対してノードのラベル付けを同時に行い、分類誤差を減らすための手法です。

この演習では、collective inferencing を実行し、AUC を性能指標として用いたときに解約予測(churn prediction)にどのような影響があるかを確認します。 AUC(ROC 曲線下面積)は、分類手法の性能評価によく用いられます。

  • AUC = ランダムに選んだ解約者(churner)が、ランダムに選んだ非解約者よりもモデルで高くランク付けされる確率
  • AUC = 0.5 から 1 の範囲の数値で、数値が高いほどモデルが良いことを意味します

collective inferencing によって AUC は上がるでしょうか?

この演習はコースの一部です

R で学ぶネットワークデータの予測分析

コースを見る

演習の手順

  • pROC パッケージの auc 関数を使い、実際の解約ラベル customers$churn と、予測値としての churnProb を用いて、relational neighbor classifier の AUC を計算します。
  • 確率的 relational neighbor classifier を 10 回適用する for ループを書き、各反復で churnProb ベクトルに値を再代入します。
  • 更新した churnProb ベクトルを使って、再度 AUC を計算します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Load the pROC package and data
library(pROC)
load("Nex132.RData")

# Compute the AUC
___(customers$churn, as.vector(churnProb))

# Write a for loop to update the probabilities
___(i in 1:10){
 ___ <- as.vector((AdjacencyMatrix %*% churnProb) / neighbors)
}

# Compute the AUC again
___(customers$churn, as.vector(___))
コードを編集して実行