2017-09-16 140 views
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

+3

可能重複[浮點數學是否被破壞?](https://stackoverflow.com/questions/588004/is-floating-point-math-broken) – Sneftel

回答

3

浮點算術並不總是100%準確的,因爲計算機使用的數字的有限量來表示具有無限的數數字。 1.52655665886e-16machine epsilon的上限相對誤差是由於浮點運算,所以我就當0

編輯: 您也可能會遇到此問題,如果你的矩陣沒有明顯的特徵值。