我想在R的J48决策树中使用训练和测试。
这是我的代码:
library("RWeka")
data <- read.csv("try.csv")
resultJ48 <- J48(classificationTry~., data)
summary(resultJ48)
但是我想将数据分成70%的训练和30%的测试,我该如何使用J48算法呢?
非常感谢!
最佳答案
使用sample.split()
包的caTools
函数。它比caret
包(如果我没有记错的话,是个meta包)的重量更大:
library(caTools)
library(RWeka)
data <- read.csv("try.csv")
spl = sample.split(data$someAttribute, SplitRatio = 0.7)
dataTrain = subset(data, spl==TRUE)
dataTest = subset(data, spl==FALSE)
resultJ48 <- J48(as.factor(classAttribute)~., dataTrain)
dataTest.pred <- predict(resultJ48, newdata = dataTest)
table(dataTest$classAttribute, dataTest.pred)