問題タブ [principal-components]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - scikit-learn PCA .fit_transform 形状に一貫性がありません (n_samples << m_attributes)
を使用して PCA のさまざまな形状を取得していsklearn
ます。 ドキュメントが言うように、私の変換が同じ次元の配列にならないのはなぜですか?
(150, 4)
私が 4 台の PC を作成している iris データセットでこれを確認してください。
しかし、実際のデータセットで同じ正確なアプローチを使用すると、(76, 1989)
代わり76 samples
に配列1989 attributes/dimensions
が得られます(76, 76)
(76, 1989)
normalize
mean
は、各次元からを減算する、私が作成した単なるラッパーです。
machine-learning - 直線上の 3 点の第 1 主成分
最初の主な方向性について少し混乱しています。2 次元ユークリッド空間に (1,1)、(2,2)、(3,3) の 3 つの点があり、最初の主成分を計算したいとします。
最初に、中心が (2,2) であることを確認したので、すべての点を原点に移動します。(2,2) は (0,0) のようになり、(1,1) は (-1,-1) になり、(3,3) は (1,1) になります。これが平均シフトです。これで、最初の主成分が matlab の transpose((sqrt(2)/2, sqrt(2)/2)) であることがわかりました。しかし、これはどのように計算されていますか?これは何を意味するのでしょうか?
共分散行列を計算してから、固有値を見つけてから固有ベクトルを見つけますか。この固有ベクトルは方向ですか? その後、正常化しますか?
したがって、(-1,-1)、(0,0)、および (1,1) での平均シフトの後にポイントがあります。共分散行列を計算します
c(x,x) c(x,y)
c(y,x) c(y,y)
[0 1; 0 1] 次に、最大の固有値 1 を見て、[1;1] である固有ベクトルを計算します。次に、正規化しますので、sqrt(1^2 + 1^2) で割りますか?
r - Rを使用した回帰でprincomp結果を使用する方法
データセットの数が少なく、独立変数の数が多い(約40個の独立変数)回帰モデルの変数の数を減らすために、主成分分析を行っています。独立変数間に相関があるため、関数princomp
を使用して主成分を生成しています。しかし、PCA の数に基づいて princomp 出力を使用する方法がわかりません。主成分のサブセットを使用することに興味があります。予測
手伝ってくれませんか?
前もって感謝します