我想在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)

10-02 14:50