Il vero costo del fraud detection
Hai addestrato due modelli sia sull'insieme di dati di training originale (model_orig) sia su quello riequilibrato (model_smote). Le classi previste per i casi nel set test si chiamano rispettivamente predicted_class_orig e predicted_class_smote. Invece di confrontare i modelli di fraud detection in base all'accuratezza, è meglio calcolarne il costo di rilevazione.
Ecco la definizione della funzione cost_model(). Rivedila per capire come viene calcolato il costo.
cost_model <- function(predicted.classes, true.classes, amounts, fixedcost) {
library(hmeasure)
predicted.classes <- relabel(predicted.classes)
true.classes <- relabel(true.classes)
cost <- sum(true.classes * (1 - predicted.classes) * amounts + predicted.classes * fixedcost)
return(cost)
}
Questo esercizio fa parte del corso
Rilevamento delle frodi in R
Istruzioni dell'esercizio
- Usa
cost_model()per calcolare il vero costo di mettere in produzionemodel_origsul set di test, confixedcostuguale a 10. - Usa
cost_model()per calcolare il vero costo di mettere in produzionemodel_smotesul set di test, confixedcostuguale a 10.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Calculate the total cost of deploying the original model
cost_model(___, ___, ___, ___)
# Calculate the total cost of deploying the model using SMOTE
cost_model(___, ___, ___, ___)