python - 内核 pca 参数用法 : kernel and fit_inverse_transform

标签 python machine-learning scikit-learn pca kernel-density

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

最佳答案

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

  1. transform --- 给定原始特征,变换为新特征(d -> k)
  2. 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/

相关文章:

python - Y错误的scikit Mixtypes

scikit-learn - 是否可以在 Scikit-learn 中使用自定义的决策树分类器?

python - 在多个分类器上进行网格搜索

python - 在Python中重命名目录中的多个文件

python - 使用 PK 获取上一个/下一个项目

python - 狮身人面像的最小域

python - python中的堆(heapq)稳定吗?

python - 集成 MLFlow 的线性回归模型

machine-learning - 解释神经网络输出

tensorflow - 如何比较 tensorflow 中的两个张量(不是按元素而是按张量)?