Collective Inferencing
Collective inferencing은 서로 연결된 데이터의 노드를 동시에 라벨링해 분류 오류를 줄이는 절차예요.
이번 연습 문제에서는 collective inferencing을 수행하고, AUC 성능 지표를 사용해 이 방법이 이탈(churn) 예측에 어떤 영향을 주는지 확인해 보겠습니다. AUC는 ROC 곡선 아래 면적을 뜻하며, 분류 기법의 성능을 평가할 때 흔히 사용돼요.
- AUC = 무작위로 선택한 이탈 고객이 무작위로 선택한 비이탈 고객보다 모델에 의해 더 높게 순위 매겨질 확률
- AUC = 0.5 이상 1 이하의 값으로, 클수록 더 좋은 모델을 의미합니다
Collective inferencing을 적용하면 AUC 값이 상승하나요?
이 연습은 강의의 일부입니다
R로 배우는 네트워크 데이터 기반 Predictive Analytics
연습 안내
pROC패키지의auc함수를 사용해 실제 이탈 라벨customers$churn과 예측값churnProb로 관계형 이웃 분류기(relational neighbor classifier)의 AUC를 계산하세요.- 확률적 관계형 이웃 분류기(probabilistic 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(___))