r - 如何从回归随机森林中获取概率密度函数?

标签 r random-forest probability-density

我将随机森林用于回归问题,以预测给定的 Test-X 集(新的特征值)的 Test-Y 的标签值。该模型已经在给定的 Train-X(特征)和 Train-Y(标签)上进行了训练。 R 的“randomForest”在预测 Test-Y 的数值方面非常有用。但这不是我想要的。

我想使用随机森林生成概率密度函数,而不仅仅是一个数字。我搜索了几天的解决方案,这是我到目前为止找到的:

  1. “randomForest”不产生回归概率,只产生分类概率。 (通过“预测”和设置类型=概率)。

  2. 使用“quantregForest”提供了一种制作和可视化预测区间的好方法。但还是不是概率密度函数!

对此还有其他想法吗?

最佳答案

请参阅predict.randomForest 函数的predict.all 参数。

library("ggplot2")
library("randomForest")

data(mpg)
rf = randomForest(cty ~ displ + cyl + trans, data = mpg)

# Predict the first car in the dataset
pred = predict(rf, newdata = mpg[1, ],  predict.all = TRUE)
hist(pred$individual)

500 个“基本”预测的直方图如下所示:enter image description here

关于r - 如何从回归随机森林中获取概率密度函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35508777/

相关文章:

r - dplyr 中的滑动组

R 组合,寻找比基本 R 更快更有效的方式(包、代码、并行 cpu)

c++ - 如何分析 Rcpp 代码(在 Linux 上)

RF : high OOB accuracy by one class and very low accuracy by the other, 类别不平衡严重

python - 使用 python 遵循正态分布从列表中选择一个元素

r - 矩阵用一填充零行

python - R 和 sklearn 中的随机森林

python - Jupyter Notebook 和 Colab 因运行随机森林模型而不断崩溃

matlab - 求具有范围的高斯随机变量的概率

python - 无法在 Matplotlib 直方图上获取 y 轴以显示概率