mathhunの日記

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

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

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

解答出てるけど解いてみる。

1問目

与えられた学習データを基に、二値分類を行うもの。

難易度★1なので特に工夫しなくても正解が出た

コード

library(e1071)

mycoins <- read.csv("CodeIQ_mycoins/CodeIQ_mycoins.txt", sep=" ", header=F)
auth <- read.csv("CodeIQ_auth/CodeIQ_auth.txt", sep=" ", header=F)

colnames(mycoins) <- c("volume", "weight")
colnames(auth) <- c("volume", "weight", "genuine")

coin.svm <- svm(genuine~., auth)
coin.predict <- predict(coin.svm, newdata=mycoins)

coin.predict2 <- ifelse(coin.predict >= 0.5, 1, 0)

# 結果
# > coin.predict2
#  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 
#  1  0  0  1  1  0  1  1  1  0  0  1  1  0  0  1  0  0  0  1 

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

# 学習用データ
> head(auth)
  volume weight genuine
1  0.745 14.385       1
2  0.394  5.016       0
3  0.384  7.246       1
4  0.574  9.450       1
5  0.603  8.198       0
6  0.541  8.347       1

# 本番?データ
> head(mycoins)
  volume weight
1  0.988 17.734
2  0.769  6.842
3  0.491  4.334
4  0.937 16.785
5  0.844 13.435
6  0.834  9.518