Использование параметров ядра pca: kernel и fit_inverse_transform

Я пытаюсь применить Kernel PCA к смешанному набору данных (как категориальному, так и числовому). Я хочу оптимизировать свою модель, но даже если я прочитал документацию, я не понял основной цели fit_inverse_transform и параметра X_transform_fit_ с dual_coef_. Есть ли кто-нибудь, кто может объяснить их цель и как их интерпретировать?


person Beg    schedule 25.05.2018    source источник


Ответы (1)


Как правило, цель любого преобразователя в scikit-learn (включая kernelPCA) - изменить размер ваших функций. Итак, если мы предположим, что ваши исходные элементы имеют размер d, преобразователь может преобразовать их в размер k, где k ‹= г. После подгонки модели вы можете использовать следующие 2 метода:

  1. преобразовать --- Учитывая исходные функции, преобразовать в новые функции (d -> k)
  2. inverse_transform --- Учитывая новые функции, преобразовать в исходные функции (k -> d)

В случае kernelPCA вам нужно специально включить вторую опцию с помощью параметра fit_inverse_transform, поскольку по умолчанию он установлен в False. Причина этого в том, что метод inverse_transform требует выполнения некоторых дополнительных вычислений (хранящихся в dual_coef_).

Проверьте исходный код здесь если еще есть сомнения.

person Jan K    schedule 25.05.2018
comment
можно ли использовать этот параметр и атрибуты для отслеживания влияния исходных функций на основные компоненты? Например, насколько функция влияет на главный компонент и в каком направлении - person Beg; 26.05.2018