【发布时间】:2021-11-08 07:42:21
【问题描述】:
这是作业中的说明,我有两个单独的代码实现,但我无法解释说明的要求:
使用以下比率划分数据集;
a) 50 次训练:50 次测试
b) 75 次训练:25 次测试
c) 25 次训练:75 次测试
d) 85 次训练:15 次测试
sample.split 中的参数 SplitRatio 让我感到困惑,我检查了文档,但我不清楚它的作用,它看起来像是确定决策树的真假的成功百分比。 问题:我是否将 SplitRatio 设为 0.5 以获得 50 的火车、50 的测试比率,还是我只是将数据集本身修改为包含 50 行、75、25 等的随机种子?我在这里将 SplitRatio 设置为 0.9,并且将数据集本身修改为仅包含 50 个条目。如果我将它更改为 0.5,它会显着改变决策树,如果我包含整个数据集而不是 50,也是一样。
#---------------------------------
# Ratio 50 Train : 50 Test
#---------------------------------
set.seed(1)
set50 <- sample(nrow(cancerdata), 50, replace=FALSE)
#set50
cancerset5050 <- cancerdata[set50,]
cancerset5050
?sample.split
spl = sample.split(cancerset5050$study.Diagnosis, SplitRatio = 0.9)
spl
dataTrain = subset(cancerset5050, spl==TRUE)
dataTest = subset(cancerset5050, spl==FALSE)
m5050 <- J48(as.factor(study.Diagnosis)~., dataTrain)
summary(m5050)
## visualization the model
## use partykit package
if(require("partykit", quietly = TRUE)) plot(m5050)
dataTest.pred <- predict(m5050, newdata = dataTest)
table(dataTest$study.Diagnosis, dataTest.pred)
【问题讨论】:
-
sample.split使用哪个包? -
库 caTools,抱歉没有包含那个
标签: r testing decision-tree sample