Pythonの個々の変数と主成分の間の相関関係が必要です。 PCAをsklearnで使用しています。データを分解した後、どのようにしてローディングマトリックスを達成できるのかわかりません。私のコードはここにあります。
iris = load_iris()
data, y = iris.data, iris.target
pca = PCA(n_components=2)
transformed_data = pca.fit(data).transform(data)
eigenValues = pca.explained_variance_ratio_
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html は、これをどのようにして実現できるかについて言及していません。
@RickardSjogrenが固有ベクトルを記述しているのに対し、@ BigPandaが負荷を与えていると思います。大きな違いがあります: PCAの読み込みと固有ベクトル:どちらを使用するか? 。
私は このPCAクラス をloadings
メソッドで作成しました。
pca.components_ * np.sqrt(pca.explained_variance_)
で与えられるローディングは、多重線形回帰の係数により類似しています。上記でリンクしたPCAクラスでは、コンポーネントがすでに転置されているため、ここでは.T
を使用しません。 numpy.linalg.svd
はu, s, and vt
を生成します。ここで、vt
はエルメシアン転置であるため、最初にvt.T
を使用してv
に戻る必要があります。
その他の重要な詳細がもう1つあります。コンポーネントの記号(正/負)とsklearn.PCA
の読み込みは、Rなどのパッケージとは異なる場合があります。詳細はこちら:
各コンポーネントに、対応する固有値の平方根を乗算します。
pca.components_.T * np.sqrt(pca.explained_variance_)
これにより、ローディングマトリックスが生成されます。
このブログ によると、pca.components_
の行は読み込みベクトルです。そう:
loadings = pca.components_