Regresja: selekcja cech

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Lisa Stuart

Data Scientist

Wybór właściwych cech:

  • Redukuje przeuczenie
  • Poprawia dokładność
  • Zwiększa interpretowalność
  • Skraca czas trenowania

Etapy selekcji cech

1 https://www.analyticsindiamag.com/what-are-feature-selection-techniques-in-machine-learning/
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Metody selekcji cech

  • Filtrowanie: ranking cech na podstawie wyników statystycznych
  • Otoczkowe: ocena wydajności za pomocą metody ML
  • Osadzone: iteracyjne trenowanie modelu w celu ekstrakcji cech
  • Ważność cech: drzewiaste modele ML
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Porównanie metod

Metoda Używa modelu ML Wybiera najlepszy podzbiór Może się przeuczyć
Filtrowanie Nie Nie Nie
Otoczkowe Tak Tak Czasem
Osadzone Tak Tak Tak
Ważność cech Tak Tak Tak
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Testy statystyczne współczynnika korelacji

Cecha/Odpowiedź Ciągła Kategoryczna
Ciągła Korelacja Pearsona LDA
Kategoryczna ANOVA Chi-kwadrat
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Funkcje filtrujące

Funkcja zwraca
df.corr() macierz korelacji Pearsona
sns.heatmap(corr_object) wykres mapy ciepła
abs() wartość bezwzględna
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Metody otoczkowe

  1. Selekcja progresywna (LARS – regresja najmniejszego kąta)
    • Zaczyna bez cech, dodaje je po jednej
  2. Eliminacja wsteczna
    • Zaczyna od wszystkich cech, eliminuje je po jednej
  3. Kombinacja selekcji progresywnej i eliminacji wstecznej (eliminacja dwukierunkowa)
  4. Rekurencyjna eliminacja cech
    • RFECV
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Metody osadzone

  1. Regresja Lasso
  2. Regresja Ridge
  3. ElasticNet

Lasso, Ridge i ElasticNet

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Metody ważności cech oparte na drzewach

  • Random Forest --> sklearn.ensemble.RandomForestRegressor
  • Extra Trees --> sklearn.ensemble.ExtraTreesRegressor
  • Po dopasowaniu modelu --> tree_mod.feature_importances_
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie
Funkcja zwraca
sklearn.svm.SVR estymator regresji wektorów nośnych
sklearn.feature_selection.RFECV rekurencyjna eliminacja cech z walidacją krzyżową
rfe_mod.support_ tablica logiczna wybranych cech
ref_mod.ranking_ ranking cech; wybrane=1
sklearn.linear_model.LinearRegression estymator modelu liniowego
sklearn.linear_model.LarsCV regresja najmniejszego kąta z walidacją krzyżową
LarsCV.score wynik R-kwadrat
LarsCV.alpha_ szacowany parametr regularyzacji
Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Czas na ćwiczenia!

Ćwiczenie pytań rekrutacyjnych z uczenia maszynowego w Pythonie

Preparing Video For Download...