标签: cart-analysis

在R中的大型数据集上运行回归树

我正在处理大约150万次观测的数据集.我发现在我的数据的一小部分上运行一个回归树(我正在使用包中的mob()*函数party)花费的时间非常长(我不能运行超过50k的一个子集).

我可以想到两个主要问题是减慢计算速度

  1. 使用整个数据集在每个步骤计算拆分.我会对基于数据的随机子集选择变量在每个节点上拆分的结果感到满意,只要它继续补充树中每个子节点处的样本大小即可.
  2. 该操作未并行化.在我看来,只要树首次拆分,它就应该能够使用两个处理器,这样当我的机器中的每个处理器有16个分裂时,它们就会被使用.在实践中,似乎只有一个被使用.

有没有人对替代树实现提出建议,这些实现对大型数据集更有效,或者我可以改变以使计算更快的事情**?

*我正在使用mob(),因为我想在每个节点的底部进行线性回归,根据它们对治疗变量的响应来分割数据.

**似乎减慢计算量的一件事是我有一个16种类型的因子变量.计算要拆分的变量的哪个子集似乎比其他拆分需要更长的时间(因为有很多不同的方法可以对它们进行分组).这个变量是我们认为重要的变量,因此我不愿完全放弃它.是否有推荐的方法在将类型放入树模型之前将其分组为较少数量的值?

parallel-processing regression r large-data cart-analysis

7
推荐指数
1
解决办法
1363
查看次数

使用rpart在回归树中搜索相应的节点

我对R很新,我遇到了一个非常愚蠢的问题.

我正在使用rpart包校准回归树,以便进行一些分类和一些预测.

由于R,校准部件易于操作且易于控制.

#the package rpart is needed
library(rpart)

# Loading of a big data file used for calibration
my_data <- read.csv("my_file.csv", sep=",", header=TRUE)

# Regression tree calibration
tree <- rpart(Ratio ~ Attribute1 + Attribute2 + Attribute3 + 
                      Attribute4 + Attribute5, 
                      method="anova", data=my_data, 
                      control=rpart.control(minsplit=100, cp=0.0001))
Run Code Online (Sandbox Code Playgroud)

在校准了一个大的决策树之后,我希望,对于给定的数据样本,找到一些新数据的相应聚类(以及预测值).
predict功能似乎是完美的需要.

# read validation data
validationData <-read.csv("my_sample.csv", sep=",", header=TRUE)

# search for the probability in the tree
predict <- predict(tree, newdata=validationData, class="prob")

# dump them in a file
write.table(predict, file="dump.txt") …
Run Code Online (Sandbox Code Playgroud)

regression r decision-tree rpart cart-analysis

7
推荐指数
2
解决办法
3759
查看次数

在R中构建分类树时,如何解释因子变量的rpart拆分?

如果因子变量是气候,有4个可能的值:热带,干旱,温带,雪和我rpart树中的节点标记为"气候:ab",分裂是什么?

r rpart cart-analysis

6
推荐指数
1
解决办法
7208
查看次数

R包/型号可以处理NA的

我在寻找R封装或机器学习模型/交易算法类似randomForest,glmnet,gbdt,等可以处理NA的,而不是忽略了NA的任何实例的行或列.我不打算估算.有什么建议?

r glmnet random-forest cart-analysis c4.5

5
推荐指数
1
解决办法
814
查看次数

有人可以解释一下 ID3 和 CART 算法之间的区别吗?

我必须使用 R 软件和 rpart 包创建决策树。在我的论文中,我应该首先定义 ID3 算法,然后实现各种决策树。

我发现 rpart 包不适用于 ID3 算法。它使用 CART 算法。我想了解差异并在我的论文中解释差异,但我没有找到任何比较双方的文献。

你能帮助我吗?你知道一篇比较两者的论文,或者你能向我解释一下区别吗?

r decision-tree rpart cart-analysis

5
推荐指数
2
解决办法
7724
查看次数

什么是rpart"as.character(x)中的错误:不能强制类型'内置'类型'字符'"消息的意思?

我一直在敲打我的头rpart几天,现在(试图使分类树这个数据集,我有),我认为现在是时候在这一点上问一个生命线:-)我敢肯定它的东西愚蠢的我没有看到,但这是我一直在做的事情:

EuropeWater <- read.csv(file=paste("/Users/artessaniccola/Documents/",
                       "Magic Briefcase/CityTypology/Europe_water.csv",sep=""))
library(rpart)
attach(EuropeWater)
names(EuropeWater)
[1] "City"          "waterpercapita_m3" "water_class"       "population"       
[5] "GDPpercapita"  "area_km2"          "populationdensity" "climate"            
EuropeWater$water_class <- factor(EuropeWater$water_class, levels=1:3, 
                                  labels=c("Low", "Medium", "High"))
EuropeWater$climate <- factor(EuropeWater$climate, levels=2:4, 
                              labels=c("Arid", "Warm temperate", "Snow"))
EuropeWater_tree <- rpart(EuropeWater$water_class ~ 
               population+GDPpercapita + area_km2 + populationdensity + 
               EuropeWater$climate, 
               data=EuropeWater, method=class)   
Error in as.character(x) : 
          cannot coerce type 'builtin' to vector of type 'character'
Run Code Online (Sandbox Code Playgroud)

而对于我的生活,我无法弄清楚错误是什么.

r rpart cart-analysis

3
推荐指数
1
解决办法
2万
查看次数

是否可以在 scikit-learn 中实现 c4.5 算法?

我在文档中读到 sklearn 对树使用 CART 算法。

是否需要更改特定属性以使其变得类似于 c4.5 实现?

python pandas scikit-learn cart-analysis c4.5

3
推荐指数
1
解决办法
3438
查看次数