我尝试使用python sklearn对乳房数据集进行主成分分析。并且无法理解为什么特征向量的两个点产品(3个组件)不是零?
frst = pca.components_[0,:]
scnd = pca.components_[1,:]
thrd = pca.components_[2,:]
orth1 = np.dot(frst,scnd)
orth2 = np.dot(scnd, thrd)
print(orth1.real)
print(orth2.real)
out:
0.0
1.52655665886E-16
浮点算术并不总是100%准确,因为计算机使用有限数量的数字来表示无限数字的数字。 1.52655665886e-16
〜机器epsilon上的上限在浮点操作引起的相对误差上,所以我将其算作0。
编辑:如果您的矩阵没有不同的特征值,您也可以遇到这个问题。