0

我尝试使用 Python sklearn 对 Breast_canser 数据集进行主成分分析。并且无法理解为什么特征向量的两个点积(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)

出去:

0.0

1.52655665886e-16

4

1 回答 1

3

浮点运算并不总是 100% 准确,因为计算机使用有限数量的数字来表示具有无限数字的数字。1.52655665886e-16~ machine epsilon由于浮点运算而导致的相对误差的上限,所以我将其计为 0。

编辑:如果您的矩阵没有不同的特征值,您也可能遇到此问题。

于 2017-09-16T15:48:23.623 回答