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
チューニングとかしてないけど,この正答率.