データ分析と機械学習の分野では、主成分分析 (PCA) が一般的に使用される線形次元削減アルゴリズムです。 PCA は、データの主成分を見つけることによってデータの次元を削減し、それによってデータの解釈可能性と計算効率を向上させます。この記事では、Python の例を通じて PCA の原理と応用について説明します。
まず、numpy、matplotlib、pandas、sklearn などの Python 関連ライブラリをインポートする必要があります。
import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA
次に、データを読み込みます。ここでは、3 種類のアヤメを含む標準的な分類およびクラスタリング データ セットであるアヤメ データ セットを使用します。 pandas ライブラリの read_csv() 関数を使用して、このデータ セットを読み取ります。
data = pd.read_csv('iris.csv')
次に、データを正規化する必要があります。 PCA はデータの共分散行列に基づいて計算されるため、共分散行列のサイズと次数はデータの変動量によって決まります。したがって、PCA 分析を実行する前に、すべての特徴の範囲を同じサイズに正規化する必要があります。 sklearn の StandardScaler を使用して標準化を実現できます。
scaler = StandardScaler() data_scaled = scaler.fit_transform(data)
次に、numpy の cov() メソッドを使用して、PCA アルゴリズムへの入力として機能するデータの共分散行列を計算します。
cov_matrix = np.cov(data_scaled.T)
これで、PCA クラスを使用してデータの主成分を見つけることができます。保持する主成分の数を設定できます。通常、元の特徴の数よりも少ない数の主成分を保持することを選択します。この例では、2 つの主成分を保持します。
pca = PCA(n_components=2) principal_components = pca.fit_transform(data_scaled)
これで、matplotlib を使用して PCA の結果をプロットできます。結果のグラフは 2 次元座標系で表示され、各虹彩の異なる色が、その虹彩が属する種を示します。このグラフィックでは、さまざまな種類のアイリスの花がさまざまな方向に広がっているのがわかります。
plt.figure(figsize=(8,6)) plt.scatter(principal_components[:,0], principal_components[:,1], c=data['species']) plt.xlabel('Principal Component 1') plt.ylabel('Principal Component 2') plt.show()
この例を通して、主因数分析の動作原理と応用を理解することができます。 PCA は、データ視覚化、ノイズ フィルター、特徴抽出、データ圧縮などの多くの分野で使用できる非常に便利な技術です。したがって、PCA はデータ分析と機械学習の分野では不可欠なツールです。
以上がPython での主因数分析の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。