为什么不对每次迭代的新的X_pca进行demean()处理?

来源:7-4 求数据的前n个主成分

imblackhat

2018-03-07

迭代时新的X_pac相当于是同一列的特征都减去了相同的值,那么均值不是应该会变吗?是因为变化太小忽略了吗?

写回答

1回答

liuyubobobo

2018-03-07

迭代时X_pca每一列减去的值不相同。每一列减去的值是按照每一个数据点去除这个数据点在同一个w轴上的映射结果得到的。每个数据点不同,在w上的映射结果也是不同。


每次迭代,X_pca的每一列数据的均值理论值依然为0。我在这个问答基于二维数据,证明了映射后的数据X_project,其均值为0:https://coding.imooc.com/learn/questiondetail/43437.html


那么一组均值为0的数据,减去另外一组均值为0的数据,得到的结果(X_pca),均值依然为0。


也可以在程序中跑一下看一下每次循环X_pca的均值是怎样的。当然由于计算机计算有浮点误差,结果不会是纯粹的零,而是一个极小的数:)

0
0

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5896 学习 · 2455 问题

查看课程