Generalizacja modelu: bootstrapping i walidacja krzyżowa

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Lisa Stuart

Data Scientist

Przegląd rozdziału 4

  • Bootstrapping/walidacja krzyżowa --> generalizacja modelu
  • Niezbalansowane klasy
  • Skorelowane cechy
  • Wybór modelu zespołowego
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Generalizacja modelu

  • Zdolność modelu ML do dobrego działania na nieznanych danych
    • zbiór testowy
    • przyszłe dane
  • Metryki treningowe $\approx$ metryki testowe
  • Modele przeuczane nie generalizują
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Drzewo decyzyjne

Wykres drzewa decyzyjnego

1 https://medium.com/@rnbrown/creating-and-visualizing-decision-trees-with-python-f8e8fa394176
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Węzły drzewa decyzyjnego

Węzeł główny drzewa decyzyjnego

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Zalety i wady

Wykres drzewa decyzyjnego

  • Zalety:
    • Łatwe do zrozumienia
    • Łatwe do wizualizacji
  • Wady:
    • Podatne na przeuczenie
    • Algorytm zachłanny
    • Tendencyjne przy niezbalansowanych klasach
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Las losowy

Las losowy

1 https://www.researchgate.net/figure/Random-Forest-visualization_fig11_326560291
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Walidacja krzyżowa k-fold

Walidacja krzyżowa k-fold

1 https://scikit-learn.org/stable/modules/cross_validation.html
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Funkcje

# 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_`
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

GridSearchCV vs RandomSearchCV

Przeszukiwanie siatki

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Czas na ćwiczenia!

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Preparing Video For Download...