小编stf*_*tfn的帖子

使用naiveBayes(e1071)进行分类不起作用($ levels返回NULL)

我使用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 classification machine-learning

6
推荐指数
1
解决办法
5759
查看次数

阻止R解析〜到用户的主目录

我尝试在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)

string parsing eval r tilde

4
推荐指数
1
解决办法
386
查看次数

标签 统计

r ×2

classification ×1

eval ×1

machine-learning ×1

parsing ×1

string ×1

tilde ×1