Collective inferencing
Collective inferencing is een methode om knopen in onderling verbonden data tegelijk te labelen en zo de classificatiefout te verkleinen.
In deze oefening voer je collective inferencing uit en bekijk je het effect op de churn-voorspelling met de AUC-prestatiemaatstaf. AUC, of area under the ROC curve, wordt vaak gebruikt om de prestaties van classificatietechnieken te beoordelen.
- AUC = de kans dat een willekeurig gekozen churner hoger wordt gerangschikt door het model dan een willekeurig gekozen niet-churner
- AUC = een getal tussen 0,5 en 1, waarbij een hoger getal een beter model betekent
Verhoogt collective inferencing de AUC-waarde?
Deze oefening maakt deel uit van de cursus
Predictive Analytics met netwerkgdata in R
Oefeninstructies
- Bereken de AUC van de relationele buur-classifier door de functie
aucuit hetpROC-pakket aan te roepen, met de echte churn-labelscustomers$churnenchurnProbals voorspelde waarde. - Schrijf een
for-lus waarin je de probabilistic relational neighbor-classifier tien keer toepast, en in elke iteratie de waarde opnieuw toekent aan de vectorchurnProb. - Bereken opnieuw de AUC met de bijgewerkte vector
churnProb.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(___))