2012年3月9日金曜日

たった4行のコードでできる Rでデータマイニング データの可視化

こんにちは。techGarageの中村俊輔です。

前回から時間が開いてしまいましたが、前回の続きでみなさんと一緒にデータマイニングをやっていきたいと思います。
前回の記事はこちら
この記事ではデータマイニングに関する特別な知識は要りません。必要なものはパソコンとインターネット接続環境だけです。

今回の記事は、データの可視化に焦点をあてたいと思います。
とにかく、手を動かしてやっていきましょう。

まず、Rを起動します。




次に、irisのデータをロードしましょう。




主成分分析をかけます。(今はどんなものか分からなくても大丈夫です)




主成分分析の結果をプロットします。





最後にラベルをつけます。




これで主成分分析による可視化が成功しました。

setosa, versicolor, virginicaで分布に特徴が出ていることが分かりますね。

では、今回の記事で取り扱った主成分分析について説明したいと思います。
今回取り扱ったデータセットであるirisの中身を見てみると





1つのレコード(行)は
Sepal.Length, Sepal.Width, Petal.Length, Petal.Width
の4つのデータ軸(列)と、
このデータの種類が何であるかの
Species
の属性を持っていることが分かりますね。

このデータをグラフで可視化しようとしたとき、普通にやろうとするとできません。
なぜなら、グラフ(散布図)で画像にすると、x軸、y軸の2つの軸でしかデータを表せず、
このデータは4つの軸で構成されているので、2つの軸しか表せないグラフ(散布図)には収まりきらないのです。
(5つめの軸であるSpeciesはラベルなので、データを表す軸にはなりません)

そこで、威力を発揮するのが主成分分析です。
主成分分析を簡単に説明すると、本来のデータの特性をできるだけ失うことがないように次元削減(軸を減らす)するための手法です。
つまり、できるだけ情報を失わずに4軸から2軸にすることが可能ということです。

少し分かりづらいでしょうか?
くだけた言い方をすると、データの中に存在する一番良い2軸を選んでくれるものです。
(実際には2軸だけではなく、何軸にすることもできます)

今回のirisのデータですと、4軸から2軸に減らしたにも関わらず、元々の情報の97.7%を表現できています。
データが1/2になっているのに、ほぼ100%再現できているってすごいですよね。


今回は主成分分析を取り上げました。
少し難しかったでしょうか。
しかし、やり方は非常に簡単です。コードはたった4行です。
興味を持っていただけたら、他のいろいろなデータに試してみてください。


次回は判別分析について触れたいと思います。

記事を読んでいただきありがとうございました。

0 件のコメント:

コメントを投稿