ÎncepețiÎncepe gratuit

Personalizarea trainControl

Așa cum ai văzut în video, aria de sub curba ROC este un rezumat extrem de util, exprimat printr-un singur număr, al capacității unui model de a discrimina clasa pozitivă de cea negativă (de exemplu, mine față de roci). Un AUC de 0,5 nu este mai bun decât o ghicire aleatorie, un AUC de 1,0 corespunde unui model cu predicții perfecte, iar un AUC de 0,0 indică un model perfect anti-predictiv (ceea ce se întâmplă rar).

Acesta este adesea un indicator mult mai util decât simpla clasificare a modelelor după acuratețe la un prag fix, deoarece diferite modele pot necesita pași de calibrare diferiți (analizând matricea de confuzie la fiecare pas) pentru a găsi pragul optim de clasificare.

Poți folosi funcția trainControl() din caret pentru a utiliza AUC (în loc de acuratețe) la ajustarea parametrilor modelelor tale. Funcția utilitară twoClassSummary() îți permite să faci acest lucru cu ușurință.

Atunci când folosești twoClassSummary(), asigură-te că incluzi întotdeauna argumentul classProbs = TRUE, altfel modelul va genera o eroare! (Nu poți calcula AUC doar din predicțiile de clasă. Ai nevoie și de probabilitățile asociate fiecărei clase.)

Acest exercițiu face parte din cursul

Machine Learning cu caret în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Personalizează obiectul trainControl pentru a folosi twoClassSummary în loc de defaultSummary.
  • Folosește validare încrucișată cu 10 iterații.
  • Asigură-te că îi transmiți lui trainControl() să returneze probabilitățile de clasă.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Create trainControl object: myControl
myControl <- trainControl(
  method = "cv",
  number = ___,
  summaryFunction = defaultSummary,
  classProbs = ___, # IMPORTANT!
  verboseIter = TRUE
)
Editează și rulează codul