【问题标题】:Machine learning in R is slow with decisiontree决策树在 R 中的机器学习很慢
【发布时间】:2017-02-11 08:25:18
【问题描述】:

我正在尝试根据车辆识别号 (VIN) 来预测车辆(型号)的类型。 VIN 的前 10 个位置说明了类型,所以我将它们用作变量。请参阅以下数据示例:

positie_1_tm_3 positie_4 positie_5 positie_6 positie_7 positie_8 positie_9 positie_10          MODEL
       MBL         B         7         5         L         7         A          6     SKODA YETI
       JNF         A         A         E         1         1         U          2    NISSAN NOTE
       VWZ         Z         Z         5         Z         Z         9          4 VOLKSWAGEN FOX
       F1D         Z         0         V         0         6         4          2 RENAULT MEGANE
       NAK         U         8         1         1         C         A          5    KIA SORENTO
       F1B         R         1         J         0         H         4          1   RENAULT CLIO

我使用了这个 R 代码:

#make stratisfied train and test set:
library(caret)
train.index <- createDataPartition(VIN1$MODEL, p = .6, list = FALSE)
train <- VIN1[ train.index,]
overige_data  <- VIN1[-train.index,]
test.index<-createDataPartition(overige_data$MODEL, p = .5, list = FALSE)
test<-overige_data[test.index,]
testset2<-overige_data[-test.index,]

#make decision three :
library(rpart)
library(rpart.plot)  
library(rattle)
library(RColorBrewer)
tree<- rpart(MODEL ~., train, method="class")

但是最后一个,制作树,已经运行了两个多星期。 数据集大约有 300 万行,因此训练集大约有 180 万行。运行这么久是因为 rpart 的数据太多还是有其他问题?

【问题讨论】:

  • 我怀疑是数据集的大小。我已经看到在 50k x 20 数据帧上运行了 6 小时的训练。您可以在较小的集合上进行训练以进行基准测试,或者将工作拆分到多台机器上吗?您是否在并行模式下运行?
  • 我必须在所有类型的车辆上进行训练,因此不能选择较小的集合,并且我不能将工作拆分到多台机器上。我不熟悉以并行模式运行。所以我在互联网上读到了它。我很难将我的脚本构建为并行模式,我不是 R 方面的专家。但我发现了一些关于 rxDTree 算法的东西,它在大数据方面做得更好,并且正在做一些已经并行的事情。也许我可以试试这个算法。但我看到这是革命的付费算法。因此,如果您有让我的脚本并行运行的提示或示例脚本,我很高兴听到。
  • 为了澄清,我建议在较小的集合上进行训练以评估性能。您可以推断总运行时间,但在 1000 行上进行训练。另外,我意识到您已经暗示了这个问题的答案(即“否”),但是是否有任何降维的机会?聚类?共线性?

标签: r machine-learning rpart


【解决方案1】:

不,显然有问题。这可能需要很长时间,但不是 2 周。

问题 - 有多少标签(有哪些类别)?当类的数量很大(我的意思是超过 50 个)时,决策树往往会很慢。

【讨论】:

  • 在 300 和 400 类之间,有很多不同类型的汽车。 ;-)
猜你喜欢
  • 2013-04-21
  • 2012-12-31
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 2015-12-13
  • 2011-01-29
  • 2015-12-11
  • 2018-09-28
相关资源
最近更新 更多