首页 > 解决方案 > 内核 pca 参数用法:内核和 fit_inverse_transform

问题描述

我正在尝试在混合数据集(分类和数字)上应用内核 PCA。我想优化我的模型,但即使我阅读了文档,我也没有理解 fit_inverse_transform 的主要用途以及带有 dual_coef_ 的参数 X_transform_fit_。有没有人可以解释他们的目的以及如何解释他们?

标签: pythonmachine-learningscikit-learnpcakernel-density

解决方案


通常,scikit-learn(包括 kernelPCA)中任何转换器的目标都是改变特征的维度。因此,如果我们假设您的原始特征具有维度d,则转换器可以将它们转换为维度k,其中k <= d。拟合模型后,可以使用以下2种方法:

  1. 转换 --- 给定原始特征,转换为新特征(d -> k
  2. inverse_transform --- 给定新特征,转换为原始特征(k -> d

在 kernelPCA 的情况下,您需要通过参数专门启用第二个选项,fit_inverse_transform因为默认情况下它设置为False. 原因是 inverse_transform 方法需要执行一些额外的计算(存储在 中dual_coef_)。

如果仍有疑问,请在此处查看源代码。


推荐阅读