我正在尝试在混合数据集(包括分类数据集和数字数据集)上应用内核 PCA。我想优化我的模型,但即使我阅读了文档,我也不理解 fit_inverse_transform 和参数 X_transform_fit_ 与 Dual_coef_ 的主要用途。有谁可以解释他们的目的以及如何解释他们吗?
最佳答案
一般来说,scikit-learn 中任何转换器(包括 kernelPCA)的目标都是改变特征的维度。因此,如果我们假设您的原始特征具有维度 d,则转换器可以将它们转换为维度 k,其中 k <= d。 拟合模型后,可以使用以下2种方法:
- transform --- 给定原始特征,变换为新特征(d -> k)
- inverse_transform --- 给定新特征,变换为原始特征 (k -> d)
对于 kernelPCA,您需要通过参数 fit_inverse_transform
专门启用第二个选项,因为默认情况下它设置为 False
。原因是 inverse_transform 方法需要执行一些额外的计算(存储在 dual_coef_
中)。
查看源码here如果仍有疑问。
关于python - 内核 pca 参数用法 : kernel and fit_inverse_transform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527117/