
11.4
特徴抽出
227
scikit-learnには
decomposition
パッケージにPCAのためのクラスが提供されています。この例
では、データを表現するには一次元で十分であることは明らかです。そのため、
n_components
とい
うパラメータに
1
を指定することにします。
>>> from sklearn import linear_model, decomposition, datasets
>>> pca = decomposition.PCA(n_components=1)
ここ で、PCAの
fit()
と
transform()
メソッド(もしくは、そ の 組 み 合 わ せ で あ る
fit_
transform()
というメソッド)を用いてデータを分析して、変換後の特徴空間に射影します。
>>> Xtrans = pca.fit_transform(X)
Xtrans
は、指定した通り一次元のデータで構成されています。結果は先のグラフの右に示してあ
ります。そのグラフを見る限り、線形に分離可能であることがわかります。両クラスを識別するために
複雑な分類器は必要ないでしょう。
再構成誤差を知るために、変換されたデータについて変形前から保持している分散の割合を見るこ
とにします。
>>> print(pca.explained_variance_ratio_)
>>> [ 0.96393127]
これが意味することは、二次元から一次元へ変換された後でも、分散の96%が保持されているとい
うことです。