Avaliando modelos de classificação

Machine Learning no tidyverse

Dmitriy (Dima) Gorenshteyn

Lead Data Scientist, Memorial Sloan Kettering Cancer Center

Elementos para medir desempenho

1) Classes reais de attrition
2) Classes previstas de attrition
3) Uma métrica para comparar 1) e 2)

Machine Learning no tidyverse

1) Preparar classes reais

attrition classe
Yes TRUE
No FALSE
validate$Attrition
No  No  No  No  No  Yes No  Yes  ...  No  No  No
validate_actual <- validate$Attrition == "Yes"
validate_actual
FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE ... FALSE FALSE FALSE
Machine Learning no tidyverse

2) Preparar classes previstas

P(attrition) classe
$ \gt $ 0.5 TRUE
$ \le $ 0.5 FALSE
validate_prob <- predict(model, validate, type = "response")
validate_prob
0.324 0.012 0.077 0.001 0.104 0.940 0.116 0.811 0.261 0.027 0.065 0.060
validate_predicted <- validate_prob > 0.5
validate_predicted
FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE
Machine Learning no tidyverse

3) Uma métrica para comparar 1) e 2)

table(validate_actual, validate_predicted)
               validate_predicted
validate_actual FALSE TRUE
          FALSE   181    5
          TRUE     17   18
Machine Learning no tidyverse

3) Métrica: Acurácia

accuracy(validate_actual, validate_predicted)
0.9004525
Machine Learning no tidyverse

3) Métrica: Precisão

precision(validate_actual, validate_predicted)
0.7826087
Machine Learning no tidyverse

3) Métrica: Recall

recall(validate_actual, validate_predicted)
0.5142857
Machine Learning no tidyverse

Vamos praticar!

Machine Learning no tidyverse

Preparing Video For Download...