Generalizzazione del modello: bootstrap e cross-validation

Esercitarsi con le domande di colloquio di Machine Learning in Python

Lisa Stuart

Data Scientist

Panoramica del Capitolo 4

  • Bootstrap/cross-validation --> generalizzazione del modello
  • Classi sbilanciate
  • Feature correlate
  • Selezione di modelli ensemble
Esercitarsi con le domande di colloquio di Machine Learning in Python

Generalizzazione del modello

  • Capacità di un modello ML di andare bene su dati non visti
    • test set
    • dati futuri
  • Metriche di train ≈ metriche di test
  • I modelli overfit non generalizzano
Esercitarsi con le domande di colloquio di Machine Learning in Python

Albero decisionale

Grafico dell'albero decisionale

1 https://medium.com/@rnbrown/creating-and-visualizing-decision-trees-with-python-f8e8fa394176
Esercitarsi con le domande di colloquio di Machine Learning in Python

Nodi dell'albero decisionale

Nodo radice dell'albero decisionale

Esercitarsi con le domande di colloquio di Machine Learning in Python

Vantaggi vs svantaggi

Grafico dell'albero decisionale

  • Vantaggi:
    • Facile da capire
    • Facile da visualizzare
  • Svantaggi:
    • Overfitta facilmente
    • Considerato greedy
    • Bias con classi sbilanciate
Esercitarsi con le domande di colloquio di Machine Learning in Python

Random Forest

Random Forest

1 https://www.researchgate.net/figure/Random-Forest-visualization_fig11_326560291
Esercitarsi con le domande di colloquio di Machine Learning in Python

Cross-validation K-fold

K-fold cross-validation

1 https://scikit-learn.org/stable/modules/cross_validation.html
Esercitarsi con le domande di colloquio di Machine Learning in Python

Funzioni

# decision tree
`sklearn.tree.DecisionTreeClassifier` 

# random forest 
`sklearn.ensemble.RandomForestClassifier`

# cross-validated grid search
`sklearn.model_selection.GridSearchCV` 

# model accuracy
`sklearn.metrics.accuracy_score` 

# train/test split function
`sklearn.model_selection.train_test_split`

# Parameters that gave best results
`cross-val_model.best_params_`

# Mean cross-validated score of 
# estimator with best params 
`cross-val_model.best_score_`
Esercitarsi con le domande di colloquio di Machine Learning in Python

GridSearchCV vs RandomSearchCV

Ricerca a griglia

Esercitarsi con le domande di colloquio di Machine Learning in Python

Let's practice!

Esercitarsi con le domande di colloquio di Machine Learning in Python

Preparing Video For Download...