私はPCAをやっていますが、私は元の機能が最も重要であることに興味があります。私は一例でこれを説明してみましょう:主成分分析の最も重要な元の特徴
import numpy as np
from sklearn.decomposition import PCA
X = np.array([[1,-1, -1,-1], [1,-2, -1,-1], [1,-3, -2,-1], [1,1, 1,-1], [1,2,1,-1], [1,3, 2,-0.5]])
print(X)
出力する:
[[ 1. -1. -1. -1. ]
[ 1. -2. -1. -1. ]
[ 1. -3. -2. -1. ]
[ 1. 1. 1. -1. ]
[ 1. 2. 1. -1. ]
[ 1. 3. 2. -0.5]]
直観的には、すでに機能1及び機能4は、その低い分散に非常に重要ではないと言うことができます。のは、このセットにPCAを適用してみましょう:
pca = PCA(n_components=2)
pca.fit_transform(X)
comps = pca.components_
出力:
array([[ 0. , 0.8376103 , 0.54436943, 0.04550712],
[-0. , 0.54564656, -0.8297757 , -0.11722679]])
この出力は、2つの主要コンポーネント(参照用thisを参照)のそれぞれについて、それぞれのオリジナル機能の重要性を表しています。言い換えれば、第1の主成分では、特徴2が最も重要であり、次に特徴3である。第2の主成分では、特徴3が最も重要に見える。
質問は、どの機能が最も重要なのですか。これにcomponent_
属性を使用できますか?あるいは、私は間違っていて、PCAはそのような分析を行うための正しい方法ではありません(代わりに機能選択方法を使用すべきですか)。
フィーチャー2のこの機能の重要性に関する尺度を教えてください。 0.9893 * 0.8376のようなもの? – Guido
私はあなたがそれを説明する方法で、説明された分散とそれに対する負荷を誰も使用したことがありません。あなたがやっていることは、基本的には、コンポーネントの貢献によって荷重を測ることです。これは珍しいことですが、うまくいくはずです。 – Schmuddi
あなたはそれが珍しいと言いますので、私はこの問題に関する他の人の意見に非常に興味があります – Guido