Как правило, цель любого преобразователя в scikit-learn (включая kernelPCA) - изменить размер ваших функций.Поэтому, если мы предположим, что ваши исходные объекты имеют размерность d , преобразователь может преобразовать их в размерность k , где k <= <strong>d .После подгонки модели вы можете использовать следующие 2 метода:
- transform --- При наличии оригинальных функций преобразовать в новые функции ( d -> k )
- inverse_transform --- Учитывая новые функции, преобразуйте в оригинальные ( k -> d )
В случаев kernelPCA вам необходимо специально включить второй параметр через параметр fit_inverse_transform
, поскольку по умолчанию он установлен на False
.Причина этого в том, что метод inverse_transform требует выполнения некоторых дополнительных вычислений (хранится в dual_coef_
).
Проверьте исходный код здесь , если все еще сомневаетесь.