Voorspellen en evalueren

Machine Learning met boomgebaseerde modellen in R

Sandro Raabe

Data Scientist

Voorspellen op nieuwe data

Algemene aanroep:
predict(model, new_data, type)
Argumenten:
  1. Getraind model
  2. Dataset om op te voorspellen
  3. Voorspellingstype: labels of kansen
Machine Learning met boomgebaseerde modellen in R

Voorspellen op nieuwe data

predict(model, new_data = test_data, 
               type = "class")
  .pred_class
  <fct>      
1 no         
2 no         
3 yes        
4 no
predict(model, new_data = test_data, 
               type = "prob")
     .pred_no  .pred_yes
     <dbl>     <dbl>
1    0.866     0.134
2    0.956     0.044
3    0.672     0.328
4    0.877     0.123
Machine Learning met boomgebaseerde modellen in R

Verwarmingsmatrix

verwarringsmatrix_1

  • Laat zien hoe vaak een model zich vergist
Machine Learning met boomgebaseerde modellen in R

Verwarmingsmatrix

verwarringsmatrix_2

Machine Learning met boomgebaseerde modellen in R

Verwarmingsmatrix

verwarringsmatrix_3

Machine Learning met boomgebaseerde modellen in R

Verwarmingsmatrix

verwarringsmatrix_4

  • Diagonaal: juiste voorspellingen
  • Buiten diagonaal: onjuiste voorspellingen
Machine Learning met boomgebaseerde modellen in R

Verwarmingsmatrix

 

  • TP: voorspelling ja, waarheid ja
  • TN: voorspelling nee, waarheid nee
  • FP: voorspelling ja, waarheid nee
  • FN: voorspelling nee, waarheid ja

verwarringsmatrix_4

Machine Learning met boomgebaseerde modellen in R

De verwarringsmatrix maken

# Combine predictions and truth values
pred_combined <- predictions %>% 
   mutate(true_class = test_data$outcome)

pred_combined
  .pred_class  true_class
  <fct>        <fct>     
1 no           no        
2 no           yes       
3 no           no        
4 yes          yes
# Calculate the confusion matrix
conf_mat(data = pred_combined,

estimate = .pred_class,
truth = true_class)
             Truth
Prediction    no   yes
        no   116    31
       yes    12    40
Machine Learning met boomgebaseerde modellen in R

Nauwkeurigheid

  $$\text{accuracy} = \frac{\text{aantal juiste voorspellingen}}{\text{totaal aantal voorspellingen}}$$

  • Functienaam: accuracy()
  • Zelfde argumenten als conf_mat()
    • data, estimate en truth
    • Gemeenschappelijke structuur in yardstick
accuracy(pred_combined,
         estimate = .pred_class,
         truth = true_class)
  .metric     .estimate
  <chr>           <dbl>
1 accuracy        0.708
Machine Learning met boomgebaseerde modellen in R

Laten we evalueren!

Machine Learning met boomgebaseerde modellen in R

Preparing Video For Download...