【发布时间】:2020-10-09 23:59:59
【问题描述】:
假设我有一个包含给定邮政编码的 1500000 个州的列表,我想在该列表上运行我的预测模型(数据库)并获得区域的预测,我在一位绅士的帮助下做了同样的事情,这是我的代码:
pred <- sapply(1:nrow(first), function(row) { predict(basdata,first[row, ],estimator="BMA", interval = "predict", se.fit=TRUE)$Ybma })
- 基础数据:我的模型
- 第一:我正在预测该区域的新数据集。
现在,我面临的问题是代码需要很长时间才能预测值。它遍历每一行并计算面积。我的数据集中有 150000 行,我会请求是否有人可以帮助我优化此代码的性能。
【问题讨论】:
-
预测函数没有向量化吗?当你做
predict(basdata,first[1:10,],estimator="BMA", interval = "predict", se.fit=TRUE)$Ybma时会发生什么?它不是给你10个预测吗? -
整个数据集有 3 个变量,我的模型 BASDATA 是基于从三个相应变量中获取一些值。我想如果我只是按照你的建议尝试预测,我会得到一些模糊的值,因为模型不会遍历整个数据集的每一行。
-
你能解释一下 first[1:10] 会帮助我实现什么吗?
-
我不明白你的意思。只需尝试上面的代码并尝试迭代前 10 行,即
sapply(1:10, function(row) { predict(basdata,first[row, ],estimator="BMA", interval = "predict", se.fit=TRUE)$Ybma })并查看值是否不同。 -
它的
first[1:10,]不是first[1:10]注意10 后面的逗号
标签: r bayesian naivebayes hierarchical-bayesian