Регресія: відбір ознак

Практика співбесід з Machine Learning у Python

Lisa Stuart

Data Scientist

Вибір правильних ознак:

  • Зменшує перенавчання
  • Підвищує точність
  • Покращує інтерпретованість
  • Скорочує час навчання

Кроки відбору ознак

1 https://www.analyticsindiamag.com/what-are-feature-selection-techniques-in-machine-learning/
Практика співбесід з Machine Learning у Python

Методи відбору ознак

  • Фільтр: ранжуйте ознаки за статистичною якістю
  • Обгортка: оцінюйте якість методом ML
  • Вбудовані: ітеративне навчання моделі для виділення ознак
  • Важливість ознак: деревні ML‑моделі
Практика співбесід з Machine Learning у Python

Порівняння методів

Метод Використовує модель ML Обирає найкращу підмножину Може перенавчатися
Фільтр Ні Ні Ні
Обгортка Так Так Інколи
Вбудовані Так Так Так
Важливість ознак Так Так Так
Практика співбесід з Machine Learning у Python

Статистичні тести для коефіцієнта кореляції

Ознака/Відгук Неперервна Категоріальна
Неперервна Кореляція Пірсона LDA
Категоріальна ANOVA Хі‑квадрат
Практика співбесід з Machine Learning у Python

Функції фільтра

Функція Повертає
df.corr() матрицю кореляції Пірсона
sns.heatmap(corr_object) теплову карту
abs() модуль
Практика співбесід з Machine Learning у Python

Методи-обгортки

  1. Прямий відбір (LARS — least angle regression)
    • Починає без ознак, додає по одній
  2. Зворотне вилучення
    • Починає з усіх ознак, прибирає по одній
  3. Комбінація прямого відбору/зворотного вилучення (двонапрямне вилучення)
  4. Рекурсивне вилучення ознак
    • RFECV
Практика співбесід з Machine Learning у Python

Вбудовані методи

  1. Ласо‑регресія
  2. Рідж‑регресія
  3. ElasticNet

Lasso, Ridge та ElasticNet

Практика співбесід з Machine Learning у Python

Методи важливості ознак на деревах

  • Random Forest --> sklearn.ensemble.RandomForestRegressor
  • Extra Trees --> sklearn.ensemble.ExtraTreesRegressor
  • Після навчання моделі --> tree_mod.feature_importances_
Практика співбесід з Machine Learning у Python
Функція Повертає
sklearn.svm.SVR оцінювач опорної векторної регресії
sklearn.feature_selection.RFECV рекурсивне вилучення ознак із крос‑валідацією
rfe_mod.support_ булевий масив вибраних ознак
ref_mod.ranking_ рейтинг ознак, вибрані=1
sklearn.linear_model.LinearRegression оцінювач лінійної моделі
sklearn.linear_model.LarsCV least angle regression із крос‑валідацією
LarsCV.score коефіцієнт детермінації R‑квадрат
LarsCV.alpha_ оцінений параметр регуляризації
Практика співбесід з Machine Learning у Python

Давайте потренуємось!

Практика співбесід з Machine Learning у Python

Preparing Video For Download...