【问题标题】:How to divide train and test datasets into ratios in R for a decision tree?如何在 R 中将训练和测试数据集划分为决策树的比率?
【发布时间】: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


【解决方案1】:

我认为你对sample.split函数的理解是正确的。如果你设置SplitRatio = 0.5,那么你将有50%的样本在训练集中,剩下的50%在测试集中。

我认为您应该在分离训练集和测试集之前将响应变量转换为因子。

那是

cancerset5050$study.Diagnosis <- as factor(cancerset5050$study.Diagnosis)

然后继续训练和测试

dataTrain = subset(cancerset5050, spl==TRUE)
dataTest = subset(cancerset5050, spl==FALSE)

m5050 <- J48(study.Diagnosis ~., dataTrain) 

【讨论】:

  • 由于某种原因我无法使用您建议的行,这里尝试了几次,注释掉的不起作用,我会在下一条评论中发布
  • #cancersamp$study.Diagnosis &lt;- as.factor(cancersamp$study.Diagnosis)
  • m5050 &lt;- J48(as.factor(study.Diagnosis)~., dataTrain)
  • #m5050 &lt;- J48(as.factor(cancersamp$study.Diagnosis)~., dataTrain)
  • #m5050 &lt;- J48(cancersamp$study.Diagnosis~., dataTrain)
猜你喜欢
  • 2017-09-30
  • 1970-01-01
  • 2015-03-23
  • 2016-07-28
  • 2019-10-15
  • 2018-10-13
  • 2019-05-01
  • 2015-12-21
  • 2019-05-01
相关资源
最近更新 更多