python - 内核 pca 参数用法:内核和 fit_inverse_transform
问题描述
我正在尝试在混合数据集(分类和数字)上应用内核 PCA。我想优化我的模型,但即使我阅读了文档,我也没有理解 fit_inverse_transform 的主要用途以及带有 dual_coef_ 的参数 X_transform_fit_。有没有人可以解释他们的目的以及如何解释他们?
解决方案
通常,scikit-learn(包括 kernelPCA)中任何转换器的目标都是改变特征的维度。因此,如果我们假设您的原始特征具有维度d,则转换器可以将它们转换为维度k,其中k <= d。拟合模型后,可以使用以下2种方法:
- 转换 --- 给定原始特征,转换为新特征(d -> k)
- inverse_transform --- 给定新特征,转换为原始特征(k -> d)
在 kernelPCA 的情况下,您需要通过参数专门启用第二个选项,fit_inverse_transform
因为默认情况下它设置为False
. 原因是 inverse_transform 方法需要执行一些额外的计算(存储在 中dual_coef_
)。
如果仍有疑问,请在此处查看源代码。
推荐阅读
- oop - 创建正确的对象关系
- scala - 从未解析的文本字符串中创建数据框
- microsoft-translator - Microsoft 自定义翻译器:文件上传不适用于 SC tmx 文件
- google-analytics - Google Analytics(分析)Google API 错误 403:“用户没有任何 Google Analytics(分析)帐户”
- laravel - Laravel 将两列从低到高排序
- java - 随机数猜测器 - 无法输入
- php - 通过 cURL 的 POST 数组没有给我正确的格式
- python - 使用 pd.DataFrames python 绘制 2d contourf 和 3d 数据时遇到问题
- ssl - SSL 上的 VIP URL 在 MVC 应用程序表单身份验证时立即注销
- xml - 如何在 xslt 转换中重用父值?