使用rpart的mlr分类培训未完成

使用rpart的mlr分类培训未完成,r,mlr,R,Mlr,我有一个分类任务,我设法在几秒钟内使用LDA(“classif.LDA”)对mlr包进行训练。然而,当我使用“classif.rpart”训练它时,训练从未结束 对于不同的方法是否有不同的设置 如果需要复制问题,我的培训数据。我试着用简单的方法来训练它 pred.bin.task <- makeClassifTask(id="CountyCrime", data=dftrain, target="count.bins") train("classif.rpart", pred.bin.ta

我有一个分类任务,我设法在几秒钟内使用LDA(“classif.LDA”)对mlr包进行训练。然而,当我使用“classif.rpart”训练它时,训练从未结束

对于不同的方法是否有不同的设置

如果需要复制问题,我的培训数据。我试着用简单的方法来训练它

pred.bin.task <- makeClassifTask(id="CountyCrime", data=dftrain, target="count.bins")
train("classif.rpart", pred.bin.task)

pred.bin.task一般来说,在切换学习者时,您不需要更改任何有关设置的内容,
mlr
的一个要点就是简化设置!但这并不意味着它总是有效的,因为不同的学习方法在幕后会做不同的事情

在这种特殊情况下,模型的训练似乎需要很长时间,因此您可能没有等待足够长的时间来完成。您有一个相当大的数据帧


查看您的数据,您似乎在
count.bins
中有一个值间隔。R将其视为一个因子(即,仅当字符串完全匹配时,间隔才相同),这可能不是您想要的。您可以将开始和结束编码为单独的(数字)功能。

感谢Lars的回复。我不认为这是因为我没有等待足够长的时间,因为正如我提到的,它在lda中在几秒钟内完成,我为rpart等待了一个小时。我在caret上运行了一个类似的数据集(更大,我放在这里的是一个子集),rpart在lda几秒钟后完成,所以我没想到在mlr上会有这么大的时差。mlr上的lda比插入符号上的lda快。嗯,很有趣。我尝试直接运行
rpart
,这也需要很长时间。你到底是如何使用插入符号的?我用默认参数尝试过,它确实很快就完成了,但是它在内部对数据进行二次采样,所以模型是在较小的子集上训练的。非常有趣。我没有直接尝试训练
rpart
,现在我尝试了,是的,这需要很长时间(我停止了),但在
插入符号中仍然很快。我使用
caret::train(count.bins~,data=dftrain,method=“rpart”,trControl=fitControl)对插入符号进行了培训,其中
fitControl是正确的,因此只能对数据的子集进行培训。在
mlr
中,您需要对其进行重新采样描述,请参阅。我明白了。在任何情况下,
rpart
似乎都不喜欢数据的特定部分(如果使用不同的随机种子或不同的分区或类似的方法,您可能会遇到与插入符号相同的问题)。