- 追加された行はこの色です。
- 削除された行はこの色です。
このページはまだ書きかけです.
*はじめに [#g88a8135]
『Rによるバイオインフォマティクスデータ解析』の7.15「SVM」を参考にして,RでSVMを使って学習します.
#html{{
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=tohgoroh-22&o=9&p=8&l=as1&asins=4320057082&ref=tf_til&fc1=444B4C&IS2=1<1=_blank&m=amazon&lc1=444B4C&bc1=FFFFFF&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
}}
*準備 [#e5c35924]
Rのインストールについては,次のページを見てください.
-[[MacでRを使う>機械学習/MacでRを使う]]
-[[WindowsでRを使う>機械学習/WindowsでRを使う]]
Naïve Bayesは,''e1071パッケージ''に含まれています.
そこで,e1071パッケージをインストールします.
install.packagesコマンドを実行すると,パッケージをダウンロードするサーバーを聞かれますので,リストからJapanのどれかを選択します.
#geshi(rsplus){{
> install.packages("e1071")
> library("e1071")
}}
ここでは,標準で使用できる''irisデータセット''を使います.
#geshi(rsplus){{
> data(iris)
}}
このデータセットは,アヤメの種類(Species)を花びらの長さ(Sepal.Length),幅(Lepal.Width),がくの長さ(Petal.Length),幅(Petal.Width)によって分類する問題です.
長さと幅は連続値,種類はsetosa, versicolor, virginicaのいずれかをとる離散値です.
このデータセットには,setosa, versicolor, virginicaという3種類のアヤメについて,それぞれ50個ずつ,合計150個のデータが含まれています.
ランダムに10個のデータを選択して,見てみましょう.
#geshi(rsplus){{
> iris[sort(sample(1:150,10)),]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
4 4.6 3.1 1.5 0.2 setosa
22 5.1 3.7 1.5 0.4 setosa
65 5.6 2.9 3.6 1.3 versicolor
97 5.7 2.9 4.2 1.3 versicolor
100 5.7 2.8 4.1 1.3 versicolor
108 7.3 2.9 6.3 1.8 virginica
116 6.4 3.2 5.3 2.3 virginica
122 5.6 2.8 4.9 2.0 virginica
136 7.7 3.0 6.1 2.3 virginica
146 6.7 3.0 5.2 2.3 virginica
}}
これをランダム・サンプリングして80%を訓練データとし,のこりの20%をテスト・データとします.
#geshi(rsplus){{
> idx <- sample(nrow(iris), as.integer(nrow(iris)*0.8))
> iris.train <- iris[idx,]
> iris.test <- iris[-idx,]
}}
*SVM [#u50975a4]
説明は後で書き足します.
#geshi(rsplus){{
> iris.svm <- svm(Species~., data=iris.train)
}}
#geshi(rsplus){{
> iris.svm
Call:
svm(formula = Species ~ ., data = iris.train)
Parameters:
SVM-Type: C-classification
SVM-Kernel: radial
cost: 1
gamma: 0.25
Number of Support Vectors: 49
}}
#geshi(rsplus){{
> iris.svm.pred <- predict(iris.svm, iris.test)
> table(iris.svm.pred, iris.test[,5])
iris.svm.pred setosa versicolor virginica
setosa 10 0 0
versicolor 0 7 1
virginica 0 0 12
}}
このページはまだ書きかけです.