e1071チュートリアル続き

前エントリでやってみたe1071チュートリアルの続きをやります.

Breast-cancer data

どれかというと,SVM-Tutorial using R (e1071-package)中の「4) Task: Breast-cancer data」です.
さっそくデータをダウンロードして覗いてみると,

> bcdata <- read.csv('~/Downloads/breast-cancer-wisconsin.data', head=TRUE)
> bcdata[c(1,100,200,300),]
    Samplecodenumber ClumpThickness UniformityofCellSize UniformityofCellShape MarginalAdhesion
1            1000025              5                    1                     1                1
100          1166630              7                    5                     6               10
200          1214556              3                    1                     1                1
300            63375              9                    1                     2                6
    SingleEpithelialCellSize BareNuclei BlandChromatin NormalNucleoli Mitoses     Class
1                          2          1              3              1       1    benign
100                        5         10              7              9       4 malignant
200                        2          1              2              1       1    benign
300                        4         10              7              7       2 malignant

irisより変数多いなあ.
今回は,右端のClass(benign, malignantの2種)の分類をします.

コード&実行結果

library(e1071)

bcdata <- subset(read.csv('~/Downloads/breast-cancer-wisconsin.data', head=TRUE),
                 select=-Samplecodenumber)
train <- seq.int(1, 699, by=2)
test <- setdiff(1:699, train)

breast.svm <- svm(Class~., data=bcdata[train,])
breast.pred <- predict(breast.svm, bcdata[test,])
table(bcdata[test,10], breast.pred)

CSVを読むところ以外は,irisのときと同じ.笑
※ Samplecodenumber削るの忘れてたので,修正した.

 要求されたパッケージ class をロード中です 
           breast.pred
            benign malignant
  benign       225         5
  malignant      5       113

チューニングとかしてないけど,この正答率.