首页 > 解决方案 > rpart 的多类分类非常慢(只有 100 行)

问题描述

用于rpart进行多类分类时,我很惊讶它非常慢。我模拟了一些数据。

对于 100 行,运行算法需要超过 1 分钟。

df=data.frame(class=sample(3,100,replace = T),
              v1=as.factor(sample(30,100,replace = T)),
              v2=sample(30,100,replace = T))

start_time= Sys.time()
fit.ct=rpart(class~.,
             data=df,method = "class",
             control = rpart.control(cp = 0,minsplit=20))

end_time = Sys.time()
time_ct=end_time - start_time
time_ct

在尝试绘制树时,我也遇到了一些错误。

rpart.plot(fit.ct)

对于二元分类,它几乎是瞬时的。更多数据:

df=data.frame(class=sample(2,10000,replace = T),
              v1=as.factor(sample(30,10000,replace = T)),
              v2=sample(30,10000,replace = T))

原因是什么?这是否意味着rpart不适合多类分类?

标签: rmulticlass-classificationrpart

解决方案


推荐阅读