python中transform用法_了解Python中的scikitlearn PCA.transform函数 - python

在Python的scikitlearn库中,PCA(主成分分析)用于降维。PCA.fit()计算主成分,PCA.transform()将数据投射到这些主成分上。PCA.components_返回的是最大化数据方差的向量。transform后的输出是数据投影到这些向量的结果,减少了数据的维度。PCA常用于高维数据集,以减少列数同时保持信息。
摘要由CSDN通过智能技术生成

因此,我目前正在从事一个涉及使用主成分分析(PCA)的项目,并且我试图随时进行学习。幸运的是,Python有一个来自scikitlearn.decomposition的非常方便的模块,该模块似乎可以为您完成大部分工作。在我真正开始使用它之前,我正在尝试弄清楚它在做什么。

我一直在测试的数据框如下所示:

0 1

0 1 2

1 3 1

2 4 6

3 5 3

当我调用PCA.fit()然后查看组件时,我得到:

array([[ 0.5172843 , 0.85581362],

[ 0.85581362, -0.5172843 ]])

根据我对PCA的有限了解,我有点了解如何进行计算,但是我迷失的地方是当我调用PCA.transform时。这是它给我的输出:

array([[-2.0197033 , -1.40829634],

[-1.84094831, 0.8206152 ],

[ 2.95540408, -0.9099927 ],

[ 0.90524753, 1.49767383]])

有人可能会引导我了解如何将原始数据帧和组件转换为新数组吗?我希望能够了解它所做的确切计算,以便在扩展时可以更好地了解正在发生的事情。谢谢!

参考方案

当您进行拟合时,PCA将计算一些向量,您可以将向量投影到这些向量上,以减小数据的维数。由于数据的每一行都是二维的,因此最多可以将2个向量投影到数据上,并且每个向量都是二维的。 PCA.components_的每一行都是一个向量,可以将事物投影到该向量上,并且其大小与训练数据中的列

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值