Généralisation du modèle : bootstrapping et validation croisée

S’entraîner aux questions d’entretien en Machine Learning avec Python

Lisa Stuart

Data Scientist

Aperçu du chapitre 4

  • Bootstrapping/validation croisée → généralisation du modèle
  • Classes déséquilibrées
  • Variables corrélées
  • Sélection de modèles d'ensemble
S’entraîner aux questions d’entretien en Machine Learning avec Python

Généralisation du modèle

  • Capacité d'un modèle de ML à bien performer sur des données non vues
    • jeu de test
    • données futures
  • Mesures d'entraînement $\approx$ mesures de test
  • Les modèles surappris ne généralisent pas
S’entraîner aux questions d’entretien en Machine Learning avec Python

Arbre de décision

Tracé d'un arbre de décision

1 https://medium.com/@rnbrown/creating-and-visualizing-decision-trees-with-python-f8e8fa394176
S’entraîner aux questions d’entretien en Machine Learning avec Python

Nœuds d'un arbre de décision

Nœud racine d'un arbre de décision

S’entraîner aux questions d’entretien en Machine Learning avec Python

Avantages vs inconvénients

Tracé d'un arbre de décision

  • Avantages :
    • Simple à comprendre
    • Facile à visualiser
  • Inconvénients :
    • Surapprentissage facile
    • Considéré comme glouton
    • Biaisé en cas de déséquilibre des classes
S’entraîner aux questions d’entretien en Machine Learning avec Python

Random Forest

Random Forest

1 https://www.researchgate.net/figure/Random-Forest-visualization_fig11_326560291
S’entraîner aux questions d’entretien en Machine Learning avec Python

Validation croisée k-fold

Validation croisée k-fold

1 https://scikit-learn.org/stable/modules/cross_validation.html
S’entraîner aux questions d’entretien en Machine Learning avec Python

Fonctions

# 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_`
S’entraîner aux questions d’entretien en Machine Learning avec Python

GridSearchCV vs RandomSearchCV

Recherche par grille

S’entraîner aux questions d’entretien en Machine Learning avec Python

Passons à la pratique !

S’entraîner aux questions d’entretien en Machine Learning avec Python

Preparing Video For Download...