- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Party R 包的 ctree 方法生成决策树。
我的数据集有大约 22 列和 650000 行数据。我使用 memory.limit 命令为我的 r session 分配了 10GB 的内存。
我有一个 2.3 GHz i3 处理器和 6GB 内存。我在这里做错了什么。
我得到的错误是
Calloc could not allocate memory (6223507 of 8 bytes)
最佳答案
好吧,我终于抽出时间来做这件事了。这不是太优雅,但应该工作。首先,加载下面的库和函数(你需要安装data.table
包)
library(data.table)
library(party)
WeightFunc <- function(data, DV){
# Creating some paste function in order to paste unique paths
paste2 <- function(x) paste(x, collapse = ",")
ignore <- DV
# Creating unique paths
test3 <- apply(data[setdiff(names(data),ignore)], 1, paste2)
# Binding the unique paths vector back to the original data
data <- cbind(data, test3)
#data
# Getting the values of each explaining variable per each unique path
dt <- data.table(data[setdiff(names(data), ignore)])
dt.out <- as.data.frame(dt[, head(.SD, 1), by = test3])
# Creating dummy variables per each value of our dependable variable for further calculations
DVLvs <- as.character(unique(data[, DV]))
data[, DVLvs[1]] <- ifelse(data[, DV] == DVLvs[1], 1, 0)
data[, DVLvs[2]] <- ifelse(data[, DV] == DVLvs[2], 1, 0)
data[, DVLvs[3]] <- ifelse(data[, DV] == DVLvs[3], 1, 0)
# Summing dummy variables per unique path
dt <- data.table(data[c("test3", DVLvs)])
dt.out2 <- as.data.frame(dt[, lapply(.SD, sum), by = test3])
# Binding unique pathes with sums
dt.out2$test3 <- dt.out$test3 <- NULL
test <- cbind(dt.out, dt.out2)
# Duplicating the data in order to create a weights for every level of expalined variable
test2 <- test[rep(1:nrow(test),each = 3), ]
test2 <- cbind(test2, AdjDV = DVLvs)
test2$Weights <- ifelse(is.element(seq(1:nrow(test2)), grep("[.]1", rownames(test2))), test2[, DVLvs[2]],
ifelse(is.element(seq(1:nrow(test2)), grep("[.]2",rownames(test2))), test2[, DVLvs[3]], test2[, DVLvs[1]]))
# Deleting unseassery column
test2[, DVLvs[1]] <- test2[, DVLvs[2]] <- test2[, DVLvs[3]] <- NULL
return(test2)
}
现在在你的数据集上运行这个函数,其中 data
是你的数据,DV
是你解释的变量名(在引号中)并将它保存在一个新的数据集中,对于示例:
Newdata <- WeightFunc(data = Mydata, DV = "Success")
现在,如果您有许多独特的路径,这个过程可能需要一段时间,但它不应该让您的内存重载。如果您没有太多唯一路径,此功能应该可以将您的数据集减少数十倍甚至数百倍。此外,此功能仅适用于 3 级因子解释变量(就像您一样)。
在那之后,您可以像以前一样运行 ctree
,但是使用新数据和新解释变量(将调用 AdjDV
) 和 wiegths 参数调用 权重
。在运行 ctree
时,您还必须从数据集中排除 Weights
。像那样:
ct <- ctree(AdjDV ~., data = Newdata[setdiff(names(Newdata), "Weights")], weights = Newdata$Weights)
关于r - 如何处理 Ctree in party 包中的内存问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636322/
我有以下类(class): @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "Party", propOrder = { "comp
我有一个 maven 仓库中不存在的第三方 jar,我们称它为“a.jar”,它也依赖于至少 20 多个第三方 jar,其中大部分不在 maven 中或者,我们称它们为“b.jar、c.jar、d.j
我正在尝试做 this simple question今天从 spoj 开始,它是背包问题,我已经实现如下: #include #include #include #include using
我想用 party 库中的 cforest 函数来衡量特征的重要性。 我的输出变量在 0 类中有 2000 个样本,在 1 类中有 100 个样本。 我认为避免类不平衡造成偏差的一个好方法是使用子样本
“当事人模型”是用于关系数据库设计的“模式”。至少其中一部分涉及寻找许多实体(例如客户,员工,合作伙伴等)之间的共性,并将其作为更多“抽象”数据库表的要素。 我想了解您对以下方面的看法: 政党模式背后
我知道之前曾有人问过这个问题,但是没有一个答案能解决我的问题。错误“3rd-party Gradle插件可能是原因”仍然在android studio中,并且我已经尝试了所有方法:取消了Instant
我正在使用gson在我的 API 中。 Gson#fromJson 抛出运行时异常,即 JsonSyntaxException。 JsonSyntaxException This exception
我在 R 中使用 party 包。 我想从结果树的各个节点获取各种统计数据(均值、中位数等),但我不知道如何执行此操作。例如 airq <- subset(airquality, !is.na(Ozo
我正在寻找一个代码片段,我已经看到它对学生有启发,该代码片段将处理 2 个音频文件,用 2 个间隔开的麦克风录制,录制“鸡尾酒”派对,这将产生 2 个或更多单独的输出基于差分延迟来隔离不同的声音。 我
我写信是为了澄清本网站上的一些评论。 1) 我知道 C++ 没有垃圾收集器。有人说 C++ 是在垃圾收集器思想出现之前发明的,这就是原因。真的吗?我认为这是有道理的。 2) 每当讨论垃圾收集器时,都会
我想比较一下CART和CHAID算法,我选择rpart(cart algorithm)和party(chaid algorithm)来看看它们的区别。 我的数据是关于血压的: 派对功能返回我: lib
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我必须在VB6应用程序中使用第三方ActiveX DLL。但是,现在我已经将DLL包含在引用中并在代码中使用了它,每次我退出应用程序时,它也会也退出VB6。 我在日志或事件查看器中看不到任何东西可以说
我确切地知道“第三方库”是什么,所以我认为这种情况下的“第三方”只是开发者以外的任意个人或公司? 这与“第一人称”、“第二人称”和“第三人称”语法观点有关吗? 存在“第三方”的事实表明也存在“第一方”
我创建了几个 ctree 模型(大约 40 到 80 个),我想经常对其进行评估。 一个问题是模型对象非常大(40 个模型需要超过 2.8G 的内存),在我看来,它们存储了训练数据,可能作为 mode
我正在研究 Operator-SDK。在我的运算符(operator) Controller 中,我尝试创建一个 Istio 自定义资源——虚拟服务。虚拟服务的定义如下: kind: CustomRe
我正在使用 Party R 包的 ctree 方法生成决策树。 我的数据集有大约 22 列和 650000 行数据。我使用 memory.limit 命令为我的 r session 分配了 10GB
我已提及convert data.frame column format from character to factor和 Converting multiple data.table column
我有一个第三方 Java 小程序,我打算将其嵌入到我的网页中但我无权访问该小程序代码。 但我想在我的页面上创建一个按钮,单击该按钮将创建小程序的屏幕截图(但不是整个屏幕)。我尝试使用 Robot 类,
在我们目前正在进行的项目中,我们需要依赖预编译的第 3 方框架。有什么方法可以确保它无法打开网络连接并发送 secret 数据? 编辑: 为了更清楚一点:它不必在运行时。静态检查没问题。我更多的是在想
我是一名优秀的程序员,十分优秀!