Generalizace modelu: bootstrapping a křížová validace

Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Lisa Stuart

Data Scientist

Přehled kapitoly 4

  • Bootstrapping/křížová validace --> generalizace modelu
  • Nevyvážené třídy
  • Korelované příznaky
  • Výběr ansámblového modelu
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Generalizace modelu

  • Schopnost modelu ML dobře fungovat na neznámých datech
    • testovací datová sada
    • budoucí data
  • Trénovací metriky $\approx$ testovací metriky
  • Přeučené modely negeneralizují
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Rozhodovací strom

Graf rozhodovacího stromu

1 https://medium.com/@rnbrown/creating-and-visualizing-decision-trees-with-python-f8e8fa394176
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Uzly rozhodovacího stromu

Kořenový uzel rozhodovacího stromu

Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Výhody vs. nevýhody

Graf rozhodovacího stromu

  • Výhody:
    • Snadné pochopení
    • Snadná vizualizace
  • Nevýhody:
    • Náchylnost k přeučení
    • Považován za hladový algoritmus
    • Zkreslení při nevyváženosti tříd
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Náhodný les

Náhodný les

1 https://www.researchgate.net/figure/Random-Forest-visualization_fig11_326560291
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

K-násobná křížová validace

K-násobná křížová validace

1 https://scikit-learn.org/stable/modules/cross_validation.html
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Funkce

# 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_`
Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

GridSearchCV vs. RandomSearchCV

Prohledávání mřížky

Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Pojďme si procvičit!

Procvičování otázek k pohovorům z oblasti Machine Learning v Pythonu

Preparing Video For Download...