今日は
を読んでいきましょう
このtutorialは主成分分析という取り組みについてです。つまりあるデータの成分の重み付き和でどの程度もとのデータを説明できるか、また、ほとんど相関していないデータなどを削除し、より少数の成分でもとのデータを説明できるかを考えていきます。
コースのはじめの方に
Technical note: PCA is typically applied to standardized data. With standardized data "variation" means "correlation". With unstandardized data "variation" means "covariance". All data in this course will be standardized before applying PCA.)
[DeepLによる日本語訳]
(技術的注意:PCAは通常、標準化されたデータに適用されます。標準化されたデータでは、「ばらつき 」は 「相関 」を意味する。標準化されていないデータでは、「ばらつき 」は 「共分散 」を意味する。このコースのすべてのデータは、PCAを適用する前に標準化される)。
DataScienceでは標準化する必要があることを述べています。
これは高校数学統計分野での分散を1にしたり平均を0にしたりという作業であり
# Standardize
X_scaled = (X - X.mean(axis=0)) / X.std(axis=0)
です。このコードは数学で学んだ式そのものです。
その後いくつかのコードが続きます
fit_transform()でPCAの学習と変換を同時に行います
返り値は主成分空間に変換されたデータ(numpy配列)
pcaに渡すデータは標準化とfit_transform()したものを渡すこと
X_pca = pca.fit_transform(X_scaled)
pca.components_について
各行は1つの主成分を表し、各列は元の特徴量に対する重みを表します
ある成分の相関係数の集まりと捉えてください。
絶対値が大きいほど、その特徴量の影響が強いことを意味し、符号は方向を示します(正か負か)
正でも負でも、絶対値が大きければ元のデータを説明できるようになることにかわりはありません。
全ての成分の2乗の和は1となります。
tips!!
- loadingsと出てくる英語ですが、意味は「負荷量」です。相関係数と同じ意味合いで使われています。
- pca.components_.Tと転置してますが見やすくしているだけで他の要件はありません。