mathhunの日記

Haskellと機械学習の勉強日記。PRML読みます。

解いてみる(2)「機械学習基礎」簡単な問題を 解いて理解しよう!前篇

「機械学習基礎」簡単な問題を解いて理解しよう!前篇|【Tech総研】

第2問

「採ってきたキノコと、隊員が食べたキノコのデータを送るから、
 食べても大丈夫なキノコを教えてほしい」

コード

library(ggplot2)
iq.data <- read.csv("CodeIQ_data.txt", sep=" ", header=F)
iq.eaten <- read.csv("CodeIQ_eaten.txt", sep=" ", header=F)
colnames(iq.data) <- c("length", "diameter")
colnames(iq.eaten) <- c("length", "diameter", "edible")
qplot(length, diameter, data=iq.eaten, color=edible)
iq.km <- kmeans(iq.data, 3)
qplot(length, diameter, data=iq.data, color=as.factor(iq.km$cluster))

与えられたデータ(一部)

> head(iq.data)
  length diameter
1  12.94     3.62
2   4.41     8.56
3  13.54    16.63
4   6.53     3.62
5  10.25     3.02
6   4.75    13.25
> head(iq.eaten)
  length diameter edible
1   6.32    10.94      x
2  11.74     3.33      x
3  15.55    12.07      o
4   3.51    11.18      x
5  11.30     2.63      x
6  15.51    17.25      o

グラフ化
f:id:mathhun:20131121231935p:plain

綺麗に3つに分類された。
正解データとの比較から赤が食べても大丈夫なキノコ。