2017-09-16 8 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

EDITとしてカウントしたい: あなたの行列が明確な固有値を持っていない場合にも、この問題が発生した可能性があります。

関連する問題