3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

irisデータセットで主成分分析

Last updated at Posted at 2023-04-06

pythonノートブックを使ってirisデータセットの主成分分析を行ってみました。
まずはライブラリを用意します。

from sklearn.datasets import load_iris
from sklearn.decomposition import PCA

import pandas as pd
import matplotlib.pyplot as plt

irisデータセットを読み込み、データフレームに整えます。

iris = load_iris()
df = pd.DataFrame(data = iris.data, columns=iris.feature_names)
df['label'] = iris.target
df.head()

スクリーンショット 2023-04-06 140142.png

ここまででデータの準備が整いましたので、主成分分析に取り掛かっていきます。

pca = PCA(n_components=2)
x = df.iloc[:, 0:4]
pca.fit(x)
pca.components_.T
array([[ 0.36138659,  0.65658877],
       [-0.08452251,  0.73016143],
       [ 0.85667061, -0.17337266],
       [ 0.3582892 , -0.07548102]])

scikit-learnを使えば計算自体はすごく簡単でPCAクラスをインスタンス化してfitメソッドを呼び出すだけです。

変換後の結果はcomponents_フィールドにアクセスすれば確認することができます。

うまく変換できているか2次元空間にプロットして確認してみます。
変換もtransformメソッドを呼び出すことで簡単に変換することができます。

X = pca.transform(x)
plt.scatter(x=X[:, 0], y=X[:, 1], c=iris.target)

スクリーンショット 2023-04-06 142103.png

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?