进行回归分析时如何评估随机森林的模型和预测?

时间:2020-08-13 09:35:53

标签: r random-forest

我知道当使用随机森林(RF)进行分类时,通常在将AUC应用于测试数据后,通常使用AUC来评估分类的质量。但是,我不知道使用RF评估回归质量的参数。现在我想使用RF进行回归分析,例如使用具有数百个样本和特征的指标来预测化学物质的浓度(数字)。

  1. 第一步是运行randomForest以使用y作为连续数字来构建回归模型。根据残差平方的平均值和所解释的%Var,我如何知道模型是否良好?有时我的%Var解释为负。

  2. 然后,如果模型很好和/或直接用于测试数据,则可以得到预测值。现在如何评估预测值的好坏?我在网上阅读一些计算出的准确度(公式:1-abs(预测的实际值)/实际值),这对我也很有意义。但是,我的实际数据集中有很多零值,是否还有其他解决方案来评估预测值的准确性?

期待任何建议并提前致谢。

1 个答案:

答案 0 :(得分:0)

randomForest R程序包带有importance函数,可用于确定模型的准确性。来自documentation

important(x,type = NULL,class = NULL,scale = TRUE,...),其中x是您对randomForest的初始调用的输出。

有两种类型的重要性度量。一个使用袋外数据的排列来测试模型的准确性。另一个使用GINI索引。再次,从文档中:

这里是变量重要性度量的定义。第一个度量是根据排列的OOB数据计算得出的:对于每棵树,记录数据自包部分的预测误差(分类的错误率,回归的MSE)。然后,在置换每个预测变量后,将执行相同的操作。然后将两者之间的差异在所有树上取平均值,并通过差异的标准偏差将其标准化。如果变量的差异的标准偏差等于0,则不会进行除法运算(但在这种情况下,平均值几乎始终等于0)。

第二个度量是在所有树上取平均值后,节点变量因拆分变量而减少的总数。为了分类,通过吉尼指数测量节点杂质。为了进行回归,它通过残差平方和来测量。

有关更多信息,您可能要执行的更简单的重要性检查(实际上是健全性检查)是使用称为最佳常数模型的东西。最佳常数模型具有恒定的输出,这是测试数据集中所有响应的平均值。可以将最佳常数模型假定为最原始的模型。对于给定的一组测试数据,您可以将随机森林模型的平均性能与最佳常数模型进行比较。如果后者至少不能比前者好3-5分,则您的RF模型不是很好。