Снижение размерности: извлечение признаков

Практика вопросов интервью по машинному обучению на Python

Lisa Stuart

Data Scientist

Методы обучения без учителя

  • Метод главных компонент (PCA) --> Урок 3.1
  • Сингулярное разложение (SVD) --> Урок 3.1
  • Кластеризация/группировка --> Урок 3.3
  • Разведочный анализ данных
Практика вопросов интервью по машинному обучению на Python

Снижение размерности ≠ отбор признаков

График PCA

Отбор признаков

1 https://slideplayer.com/slide/9699240/ 2 https://www.analyticsvidhya.com/blog/2016/03/practical-guide-principal-component-analysis-python/
Практика вопросов интервью по машинному обучению на Python

Проклятие размерности

График: размерность и качество модели

1 https://www.visiondummy.com/2014/04/curse-dimensionality-affect-classification/
Практика вопросов интервью по машинному обучению на Python

Поиск в 1-D

Одномерное пространство поиска

Практика вопросов интервью по машинному обучению на Python

Поиск в 2-D

Двумерное пространство поиска

Практика вопросов интервью по машинному обучению на Python

Поиск в 3-D

Трёхмерное пространство поиска

Практика вопросов интервью по машинному обучению на Python

Методы снижения размерности

  • PCA
  • SVD
Практика вопросов интервью по машинному обучению на Python

PCA

График PCA для набора данных Iris

  • PCA
    • Связь между X и y
    • Вычисляется через главные оси
    • Сдвиг, вращение и масштабирование
    • Проекция данных в пространство меньшей размерности
1 https://scikit-learn.org/stable/modules/decomposition.html
Практика вопросов интервью по машинному обучению на Python

SVD

График SVD для набора данных Iris

  • SVD
    • Линейная алгебра и векторное исчисление
    • Разбивает матрицу данных на три матрицы
    • Результат — «сингулярные» значения
    • Дисперсия в данных приблизительно равна сумме квадратов сингулярных значений
1 https://galaxydatatech.com/2018/07/15/singular-value-decomposition/
Практика вопросов интервью по машинному обучению на Python

Функции снижения размерности

Функция/метод возвращает
sklearn.decomposition.PCA метод главных компонент
sklearn.decomposition.TruncatedSVD сингулярное разложение
PCA/SVD.fit_transform(X) обучает и преобразует данные
PCA/SVD.explained_variance_ratio_ доля объяснённой дисперсии по главным компонентам
Практика вопросов интервью по машинному обучению на Python

Давайте потренируемся!

Практика вопросов интервью по машинному обучению на Python

Preparing Video For Download...