我正在处理大约150万次观测的数据集.我发现在我的数据的一小部分上运行一个回归树(我正在使用包中的mob()*函数party)花费的时间非常长(我不能运行超过50k的一个子集).
我可以想到两个主要问题是减慢计算速度
有没有人对替代树实现提出建议,这些实现对大型数据集更有效,或者我可以改变以使计算更快的事情**?
*我正在使用mob(),因为我想在每个节点的底部进行线性回归,根据它们对治疗变量的响应来分割数据.
**似乎减慢计算量的一件事是我有一个16种类型的因子变量.计算要拆分的变量的哪个子集似乎比其他拆分需要更长的时间(因为有很多不同的方法可以对它们进行分组).这个变量是我们认为重要的变量,因此我不愿完全放弃它.是否有推荐的方法在将类型放入树模型之前将其分组为较少数量的值?
我对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) 如果因子变量是气候,有4个可能的值:热带,干旱,温带,雪和我rpart树中的节点标记为"气候:ab",分裂是什么?
我在寻找R封装或机器学习模型/交易算法类似randomForest,glmnet,gbdt,等可以处理NA的,而不是忽略了NA的任何实例的行或列.我不打算估算.有什么建议?
我必须使用 R 软件和 rpart 包创建决策树。在我的论文中,我应该首先定义 ID3 算法,然后实现各种决策树。
我发现 rpart 包不适用于 ID3 算法。它使用 CART 算法。我想了解差异并在我的论文中解释差异,但我没有找到任何比较双方的文献。
你能帮助我吗?你知道一篇比较两者的论文,或者你能向我解释一下区别吗?
我一直在敲打我的头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)
而对于我的生活,我无法弄清楚错误是什么.
我在文档中读到 sklearn 对树使用 CART 算法。
是否需要更改特定属性以使其变得类似于 c4.5 实现?
r ×6
rpart ×4
c4.5 ×2
regression ×2
glmnet ×1
large-data ×1
pandas ×1
python ×1
scikit-learn ×1