Python における PCA 主成分分析 (次元削減) スキル
PCA (主成分分析) 主成分分析は、非常に一般的に使用されるデータの次元削減テクノロジです。 PCA アルゴリズムを使用すると、データを処理してデータ固有の特性を発見し、その後のデータ分析とモデリングのためのより正確かつ効果的なデータ収集を提供できます。
以下では、Python で PCA 主成分分析を使用するためのテクニックをいくつか紹介します。
PCA 次元削減分析を実行する前に、まずデータを正規化する必要があります。これは、PCA アルゴリズムが単に要素値のサイズではなく、分散の最大化を通じて主成分を計算するため、各要素の対応する分散の影響が完全に考慮されるためです。
Python にはデータ正規化のためのメソッドが多数あります。最も基本的な方法は、sklearn ライブラリの StandardScaler クラスを使用して、データを平均 0、分散 1 の標準正規分布に標準化することです。コードは次のとおりです。正規化されたデータを取得できます。処理されたデータのコレクション data_std。
PCA を使用した次元削減from sklearn.preprocessing import StandardScaler scaler = StandardScaler() data_std = scaler.fit_transform(data)
このうち、data_pca は PCA 次元削減処理後の新しいデータを返します。
次元削減後の主成分の数を選択する方法累積分散寄与率は、合計分散に対する最初の n 個の主成分の分散の合計のパーセンテージを表します。例:
from sklearn.decomposition import PCA pca = PCA(n_components=2) data_pca = pca.fit_transform(data_std)
累積分散寄与率グラフを描画すると、主成分の数を 1 から徐々に増加させたときの累積分散寄与率の変化傾向を観察して、適切な主成分の数を推定できます。コードは次のとおりです。
import numpy as np pca = PCA() pca.fit(data_std) cum_var_exp = np.cumsum(pca.explained_variance_ratio_)
図の赤い線は累積分散寄与率を表し、x 軸は主成分の数を表し、y 軸は説明された分散の割合を表します。最初の 2 つの主成分の分散寄与率は 1 に近いため、2 つの主成分を選択することでほとんどの分析タスクのニーズを満たすことができることがわかります。
PCA 次元削減後のデータを視覚化する方法import matplotlib.pyplot as plt plt.bar(range(1, 6), pca.explained_variance_ratio_, alpha=0.5, align='center') plt.step(range(1, 6), cum_var_exp, where='mid') plt.ylabel('Explained variance ratio') plt.xlabel('Principal components') plt.show()
図内の色とラベルは、それぞれ元のデータの数値ラベルに対応します。視覚化を通じて データの次元を削減することで、データの構造と特性をより深く理解できるようになります。
つまり、PCA 主成分分析テクノロジを使用すると、データの次元を削減できるため、データの構造と特性をより深く理解できるようになります。 Python の sklearn ライブラリと matplotlib ライブラリを使用すると、PCA アルゴリズムを非常に簡単に実装して視覚化できます。
以上がPython での PCA 主成分分析 (次元削減) 手法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。