2011年12月24日土曜日

Rでデータマイニング データセットの読み込みと概念を理解しよう

初めまして。techGarageのメンバーの中村俊輔です。

某サッカー選手のような名前ですが、無関係です。



私は大学院でデータマイニングの分野を専攻しているので、その分野についての記事を書いていきたいと思っています。

データマイニングというと、”難しい”、”とっつきづらい”という印象を持たれている方が多いと思うのですが、やってみるとそうでもないことが分かります。

なので、私の記事では実際にデータマイニングをやってみて、簡単なんだと感じていただくことを目的にやっていきたいと思っています。



用意するもの

・パソコン(Windows, Mac, Linuxどれでも可)

・インターネット接続環境



データマイニングをするとき、多くの人はデータマイニング用のソフトウェアを使います。

ソフトの種類はたくさんありますが、この記事では導入が簡単で無料で使える”R”を使っていきます。



では、まずはRのインストールから。

下記のサイトを参考にして、インストールしましょう。

http://www.okada.jp.org/RWiki/?R%20%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB


インストールできたでしょうか?

Windowsを使用されている方は"R User Configuration"も実行しておいてください。

ちなみに私はWindowsとMac版を使っていて、記事ではMac版を使って説明していきます。

操作は基本的に同じなので、好きなOSでインストールしましょう。



起動すると、こんな画面が出ます。





次に、data(iris)と入力しEnter、irisと入力してEnterをタイプします。




そうすると、以下のような画面になります







なんじゃこりゃ!という感じだと思いますが、順に説明していきます。

Rの操作は基本的に対話型で行われ、命令を1つずつ与えて結果を得ながら進めていきます。

まず、最初の命令data(iris)ですが、これは"iris"というデータセットを読み込んでください、という命令です。

データセットというのは、分析したいデータの塊、データの集合体と思っていただけたら良いと思います。

次のirisは、"iris"というデータセットを表示してください、という命令です。

さきほどの出力はirisというデータセットの中身が表示されていたんですね。



では、このirisというデータセットですが、データマイニングの分野では有名なデータセットで、データマイニングでのハローワールド的なものと言ってもいいかもしれません。

このデータセットは、植物”あやめ”のがく片の長さと幅、花びらの長さと幅と、あやめの3つの品種が記録されています。

と言っても…よく分からないので、実際にデータを見て行きましょう。

先ほどのirisで表示されたデータセットを見て行きます。上にスクロールすると、このような画面になります。





このデータセットの1つの行が、1つの花に対応しています。

例えば、1番目のデータ


これは、数字が5つと文字列"setosa"が記録されていますが、順に見て行くと、

"1" この花のデータ番号

"5.1" この花のSepal.Length(がく片の長さ)

"3.5" この花のSepal.Width(がく片の幅)

"1.4" この花のPetal.Length(花びらの長さ)

"0.2" この花のPetal.Width(花びらの幅)

"setosa" この花のSpecies(品種)

つまり、データ番号1番の花はSepal.Lengthが5.1で、Sepal.Widthが3.5で、Petal.Lengthが1.4で、Petal.Widthが0.2であり、この花の品種はsetonaであるということです。

このデータセットはそのようなデータを150個集めたものになります。

ここで、説明変数と目的変数についての話をします。

データセットirisには変数が5つあります(データ番号を含まず)変数とは、列のことだと思ってもらえればいいです。

5つの変数のうち、 Sepal.Length、Sepal.Width、Petal.Length、Petal.Widthは説明変数で、setosaが目的変数です。

ちょっと分かりづらいですね。

少し、このデータセットがどのような目的で作られたのかを考えてみましょう。

このデータセットが作られた目的は、たくさんの花のサンプルを記録しておき、その記録したデータをコンピュータに学習させ、未知の花が与えられたとき、その花の品種が何であるかをコンピュータに推定させることです。

例えば、この"iris"のデータセットで学習しておけば、

Sepal.Lengthが5.0、Sepal.Widthが3.0、 Petal.Lengthが1.0、Petal.Widthが0.3の花の品種をコンピューターが推定することが可能になります。

つまり、推定したいのは目的変数の”花の品種”で、推定する際に入力に使うのが花びらの長さ等の説明変数というわけです。

なんとなくイメージはつかんでいただけたでしょうか?

では、次回は実際にコンピュータに推定させる部分をやってみましょう。

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




不備、質問等ありましたら以下までお気軽にお願いします。
shun.nakamu@gmail.com

Facebook

0 件のコメント:

コメントを投稿