sklearnでのPCAの使い方
5419 ワード
作者:Roygood来源:ブログ園
原文リンク最近、データ分析の実験をしていて、PCAデータの次元ダウンを行う準備をしている間に疑問が生じました.訓練セットとテストセットを一緒に次元ダウンできない以上、どのようにテストセットの次元を訓練セットと同じように下げるか、sklearnが提供する方法にtranformがこの機能を実現しているのを見て、豁然としています.sklearnのLDAと他の降次元方法に似たような機能があるかどうか分かりませんが、大物の指摘を歓迎します.もし後で勉強したら,帰ってきて穴を埋めなさい.
1.関数の原型とパラメータの説明
ここでは重要なパラメータをいくつか選んで説明します.
sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False)
2.PCAオブジェクトの属性
3.PCA常用方法
4.簡単な例
import numpy as np
from sklearn.decomposition import PCA X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) pca = PCA(n_components=2) newX = pca.fit_transform(X) print(X) Out[365]: [[-1 -1] [-2 -1] [-3 -2] [ 1 1] [ 2 1] [ 3 2]] print(newX) Out[366]: array([[ 1.38340578, 0.2935787 ], [ 2.22189802, -0.25133484], [ 3.6053038 , 0.04224385], [-1.38340578, -0.2935787 ], [-2.22189802, 0.25133484], [-3.6053038 , -0.04224385]]) print(pca.explained_variance_ratio_) [ 0.99244289 0.00755711]
最初の特徴は99.24%でデータセット全体を表現できることがわかり、1次元に下げることができます.
pca = PCA(n_components=1)
newX = pca.fit_transform(X)
print(pca.explained_variance_ratio_)
[ 0.99244289]