2015年6月13日土曜日

Pythonで主成分分析

Pythonで主成分分析する方法を調べたところこちらにわかりやすく記載されていました。
ただ、グラフを色分けしてグラフを書くところが載ってなかったので、そのままグラフまで見れるソースを以下に記載しておきます。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

from sklearn import datasets
from sklearn.decomposition import PCA

#---------------データセットの読み込み------------------
iris = datasets.load_iris()
X = iris.data
Y = iris.target

#---------------主成分分析 実行------------------
pca = PCA(n_components=2)
pca.fit(X)
X_pca= pca.transform(X)

#----------------描画-----------------
#生データの描画 第1成分 vs 第2成分
for l in np.unique(Y):
    plt.plot(X[Y == l, 0], X[Y == l, 1],'o',color=plt.cm.jet(float(l) / np.max(Y + 1)))
plt.show()
#生データの描画 第1成分 vs 第2成分
for l in np.unique(Y):
    plt.plot(X[Y == l, 2], X[Y == l, 3],'o',color=plt.cm.jet(float(l) / np.max(Y + 1)))
plt.show()

#主成分分析後のデータ 第1主成分 vs 第2主成分
for l in np.unique(Y):
    plt.plot(X_pca[Y == l, 0], X_pca[Y == l, 1],'o',color=plt.cm.jet(float(l) / np.max(Y + 1)))
plt.show()

0 件のコメント:

コメントを投稿