Анализ главных компонент (PCA – Principal component analysis) – это метод, который преобразует большой набор переменных в меньший с минимальными потерями информативности. Использование PCA позволяет ускорить расчет модели за счет уменьшения количества входных переменных.
PCA используется для разложения многомерного набора данных на набор последовательных ортогональных компонентов, которые объясняют максимальную величину дисперсии (дисперсия – степень разброса данных). Снижение размерности достигается с помощью SVD (Singular Value Decomposition, сингулярное разложение).

В узле предусмотрены следующие Алгоритмы главных компонент:

Рекомендуется нормализовать данные перед использованием PCA, иначе можно получить вводящие в заблуждение компоненты (чекбокс Нормализация компонент).
PCA работает c числовыми данными. Поэтому если в наборе данных присутствует категориальная переменная, то она кодируется методом «One-hot encoding» и количество рассчитанных главных компонент будет равно (исходное количество некатегориальных атрибутов) + (столбцы One-hot encoding).
Пример: изначально было 14 атрибутов, один из которых категориальный (с 3 категориями), в результатах получится 15 (подробнее про «One-hot encoding» в описании одноименного узла).
Для отбора компонент предусмотрены следующие методы определения количества компонент:

Список параметров узла представлен в таблице ниже.

Параметр

Возможные значения и ограничения

Описание

Название

Ручной ввод.

Ограничений на значение нет.

Название узла, которое будет отображаться в интерфейсе

Описание

Ручной ввод.

Ограничений на значение нет.

Описание узла

Метод определения количества компонент

Раскрывающийся список со следующими значениями:

  • full (по умолчанию),
  • number,
  • variance,
  • mle.

Данный параметр задает метод определения количества компонент. Предусмотрены:

  • full (по умолчанию),
  • number,
  • variance,
  • mle.

Количество компонент

Ручной ввод целочисленного значения.

По умолчанию - 1.

Актуален при выборе Метода определения количества компонент = number. Задает ограничение на количество компонент, которые в конечном итоге будут отобраны алгоритмом.

Процент объясненной дисперсии

Ручной ввод.

Значение больше 0 и меньше или равно 1.

По умолчанию – 0,95.

Актуален при выборе Метода определения количества компонент = variance. Задает ограничение на процент объясненной дисперсии компонентами, которые в конечном итоге будут отобраны алгоритмом.

Нормализация компонент

Чекбокс.

Данный чекбокс отвечает за преобразование числовых наблюдений с целью приведения их к общей шкале. Необходимость нормализации вызвана тем, что разные признаки из исходного набора могут быть представлены в разных масштабах и изменяться в разных диапазонах.

Алгоритм главных компонент

Раскрывающийся список со следующими значениями:

  • auto (по умолчанию),
  • full,
  • arpack,
  • randomized.

Данный параметр задает алгоритм главных компонент. Предусмотрены следующие варианты:

  • auto (по умолчанию),
  • full,
  • arpack,
  • randomized.

Погрешность

Ручной ввод числового значения.

Значение должно быть в диапазоне [0.0, inf).

По умолчанию – 0.

Актуален при выборе Алгоритма главных компонент = arpack. Задает допустимую погрешность для сингулярных значений.

Задать количество итераций степенного метода

Чекбокс.

Актуален при выборе Алгоритма главных компонент = randomized. Выбор данного чекбокса указывает, что необходимо задать количество итераций степенного метода.

Количество итераций степенного метода

Ручной ввод числового значения.

Значение должно быть в диапазоне [0, inf).

По умолчанию – 10.

Актуален при выборе Алгоритма главных компонент = randomized. Перед увеличением Количества итераций степенного метода следует увеличивать Количество дополнительных случайных векторов, поскольку принцип рандомизированного метода заключается в том, чтобы избежать использования этих более дорогостоящих шагов итерации.

Количество дополнительных случайных векторов

По умолчанию – 10.

Актуален при выборе Алгоритма главных компонент = randomized. Задает дополнительное количество случайных векторов, что обеспечивает лучшую аппроксимацию сингулярных векторов и сингулярных значений.

Нормализация итераций

Раскрывающийся список со следующими значениями:

  • auto (по умолчанию),
  • QR,
  • LU,
  • randomized.

Актуален при выборе Алгоритма главных компонент = randomized. Предусмотрены следующие методы:

  • auto – не применяет нормализацию, если Количество итераций степенного метода <=2, и переключается на LU разложение в противном случае.
  • QR – пошаговое разложение матрицы. Самое медленное, но наиболее точное.
  • LU – LU разложение матрицы. Численно стабильное, но может терять в точности.
  • randomized – наиболее быстрый метод, но нестабильный, если Количество итераций степенного метода большое (5 и больше).

Seed

Ручной ввод числового значения.

Значение больше 0.

По умолчанию — 42.

Начальное числовое значение для генератора случайных чисел. Используется для воспроизведения результатов при повторном запуске.

Исключить оригинальные предикторы

Чекбокс.

Выбор данного чекбокса указывает, что необходимо удалить оригинальные предикторы.


Результаты выполнения узла: