特定のデータセットの分散が最も大きい次元を特定するには、pcaを使用する必要があります。私はそれを行うためにscikit-learnのpcaを使用していますが、私はpcaメソッドの出力から、分散が最も大きいデータのコンポーネントを特定することはできません。私はこれらの次元を排除することは望まず、それらの次元のみを特定することを覚えておいてください。scikit-learn PCAを使用して分散が最も大きい次元を見つける
私のデータは、それぞれが4次元の150行のデータを持つマトリックスとして編成されています。私は次のようにやっている:
pca = sklearn.decomposition.PCA()
pca.fit(data_matrix)
私はpca.explained_variance_ratio_を印刷するとき、それは最高から最低まで注文した分散比率の配列を出力しますが、それは彼らが対応したデータから、どの次元を私に教えてくれありません(私は行列の列の順序を変えようとしましたが、その結果の分散比の配列は同じでした)。 pca.components_を印刷
は、私がの意味を理解することはできませんいくつかの値を(私はPCAの引数として要素の元の数を左に)私の4x4の行列を与える... scikitのマニュアルによると、彼らはする必要があります(固有ベクトルはおそらく?)、それらの値が参照する次元の符号はない。
次元が実際にどちらが元のものかわからないように変更されているため、データを変換することは役に立ちません。
scikitのpcaでこの情報を入手する方法はありますか?ありがとう
components_'' ''の最初の行が最大分散の方向であり、文書の状態として。私はそのことについてはっきりしていないことは完全にはわかりません。 explain_variance_ratio_''の項目は '' components_''の行に対応しています。どのような次元の値が参照されているかはどういう意味ですか? –
私の問題は、データに4つの次元があることを考慮して、2次元の次元だけを分散のままにしたいのであれば、PCAを適用するとデータのどの次元が保持されるのかn_components = 2。たとえば、私のデータの第2次元と第4次元が最も高い分散を持っているとしますが、これはわかりません。私はPCAを適用し、結果からこの情報を得るための何らかの方法を持っていきたいと思います。繰り返しますが、私はデータを変換する必要はありません! –