科学の箱

科学・IT・登山の話題

機械学習

irisでPCAを実行し可視化

投稿日:

irisデータをPCAで2次元に分類して可視化してみる。

内容

  • 準備及びデータの前処理
  • PCA
  • プロット

 

準備及びデータの前処理

irisデータを読み込み、PCAを実行するための前処理をする。ここの詳細については、

irisデータについて簡単な機械学習をしてみる

を参照

from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
import numpy as np

# データセット読み込み
iris = sns.load_dataset('iris')

# データ前処理
X_iris = iris.drop('species', axis=1)

 

PCA

PCAはsklearn.decomposition.PCAを用いる。

class sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False, svd_solver=’auto’, tol=0.0, iterated_power=’auto’, random_state=None)
n_components PCAの主成分の数
# PCA
pca = PCA(n_components=2)     
pca.fit(X_iris)               
pca_transformed = pca.transform(X_iris)

 

プロット

PCAで算出した主成分1および2の値はpca_transformedに格納されている。

print(pca_transformed)

# [[-2.68412563  0.31939725]
 [-2.71414169 -0.17700123]
 [-2.88899057 -0.14494943]
 [-2.74534286 -0.31829898]
 [-2.72871654  0.32675451]

 

プロットするためにこの値をirisデータにマージする。

# データマージ
iris["PCA1"] = pca_transformed[:, 0]
iris["PCA2"] = pca_transformed[:, 1]

 

プロットするにあたり種別で色を指定したいために、種別と色を設定した配列を作成する。

# プロット
species = y_test.unique()
print(species) #['setosa' 'versicolor' 'virginica']
colors = ['navy', 'turquoise', 'darkorange']

 

このデータを種別に読み込みながらプロットする。

for color,label in zip(colors, species):
        plt.scatter(iris[iris["species"]==label]["PCA1"],iris[iris["species"]=="setosa"]["PCA2"], color=color, label=label)
plt.title("PCA for IRIS")
plt.legend(loc="best")

 

 

メタ情報

inarticle



メタ情報

inarticle



-機械学習
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

dataanalysis-002-week6

prediction study motivation 手順 データの選択 エラーの測定 デザイン データの分割 トレーニング テスト 検証 true false positives true pos …

no image

Statistical Reasoning for Public Health

Module up to 3 SES – 社会経済的地位 Cognitive function – 認知機能 The authors used the graphic alon …

no image

R Dataset – AirPassengers

データの説明 1949~1960年における月別飛行機搭乗者数 フォーマット このデータは時系列データであることがわかる。 > str(AirPassengers)  Time-Series [1 …

no image

回帰と分類の違い

回帰と分類は両方とも”予測”問題である。予測とは従属変数から目的変数を明らかにする。この目的変数の種類により回帰と分類に分けられる。 回帰では連続した数値を予測する。例えば株価 …

no image

Exploratory Data Analysis

データを取得した後にやることは、データの構造化とクレンジング。それが完了したらData Exploratory Analysisに入る。 Exloratory Data Analysis(EDA)に関 …

2019年9月
« 8月   10月 »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

side bar top



アーカイブ

カテゴリー