我使用naiveBayes(e1071 http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Classification/Na%C3%AFve_Bayes)对我的数据集进行分类(Classification class:"class"0/1).这是我做的:
library(e1071)
arrhythmia <- read.csv(file="/home/.../arrhythmia.csv", head=TRUE, sep=",")
#devide into training and test data 70:30
trainingIndex <- createDataPartition(arrhythmia$class, p=.7, list=F)
arrhythmia.training <- arrhythmia[trainingIndex,]
arrhythmia.testing <- arrhythmia[-trainingIndex,]
nb.classifier <- naiveBayes(class ~ ., data = arrhythmia.training)
predict(nb.classifier,arrhythmia.testing[,-260])
Run Code Online (Sandbox Code Playgroud)
分类器不起作用,这是我得到的:
> predict(nb.classifier,arrhythmia.testing[,-260])
factor(0)
Levels:
> str(arrhythmia.training)
'data.frame': 293 obs. of 260 variables:
$ age : int 75 55 13 40 44 50 62 54 30 46 ...
$ sex : int 0 0 0 1 0 1 0 1 0 1 ... …Run Code Online (Sandbox Code Playgroud) 我尝试在R中运行以下脚本(最小化示例):
library(neuralnet)
arrhythmia <- read.csv(file=".../arrhythmia-edited.csv", head=TRUE, sep=",")
# create the first parameter for neuralnet formular
# format like 'classification ~ attribute1 + attribute2 + ...
# i have so many features, that why i use a for
input <- ""
for (i in 1:259)
input <- paste(input, paste(paste('arrhythmia[,',i),'] +'))
input <- paste(input, 'arrhythmia[,260]')
# create string for function call
nnet.func <- paste('neuralnet(arrhythmia[,261] ~', input)
nnet.func <- paste(nnet.func, ', data=arrhythmia)')
# call function neuralnet
# should be like: neuralnet(arrhythmia[,261] ~ arrhythmia[,1] …Run Code Online (Sandbox Code Playgroud)