Fresopiya
場所にもお金にも時間にも、何にも縛られない自由な状態になったら一体人間は何をしてどこに向かうのか。

まずはとにかく自由を目指すエンジニアのブログです。
「哲学」と「プログラミング」と「政治経済」、「ブログ」がメインになるかと。
scikit-learn

【scikit-learn】iris(アイリス)データの主成分分析による次元削減と視覚化

どうも、とがみんです。

以前の記事で主成分分析がどういうものなのかについて紹介しました。


この記事では、4つの特徴量を持つirisデータを用いて、scikit-learnを利用して主成分分析を行い、特徴量を3つ、2つと削減し、視覚化していきます。

今回すること

irisデータセットを用いて、主成分分析により、4次元のデータを3次元、2次元に次元削減し、データの雰囲気をより解釈しやすくしていきます。

irisデータを可視化した図

データの準備

データを準備していきます。以下のコード実行すると、「iris」のデータセットがダウンロードされ、各変数に、花の名前や特徴のデータが格納されます。

準備したデータを以下のコードで、データを表形式で出力します。

各特徴量のペアをまとめたグラフを以下のコードで表示します。

次に、3次元、2次元と次元を削減し、視覚化していきます。

3次元へ次元削減

4次元のirisデータを3次元に次元削減します。

3次元に削減した結果のグラフを表示します。

3次元に次元削減した結果を視覚化したものです。

2次元へ次元削減

4次元のirisデータを2次元に次元削減します。

2次元に次元削減した結果をグラフ化します。

まとめ

irisデータを用いて、主成分分析により次元の削減を行い視覚化しました。

主成分分析は、元のデータの情報をできるだけ損なわないようにデータを圧縮するので、

データ量を圧縮したい時や、また、データの雰囲気をわかりやすく可視化したい時に利用してみたら良いかと思います。

参考文献

>[機械学習] iris データセットを用いて scikit-learn の様々な分類アルゴリズムを試してみた