问题:
我使用国家森林清查中的 30 个样地和一个受保护区域的森林掩模,生成了一个区域生物量库存模型(m³/ha)。该模型是一个具有随机森林回归的回归模型。
问题是:outOfBagErrorEstimate衡量什么?RMSE、MSE、MAE还是其他内容?我知道它与我的响应变量单位相同:m³/ha。但用于估计错误的度量是什么,我如何解释这个值?在绘图中表观m³/ha的变化范围是:[13.44, 741.28]当我对模型生成的图像进行100%拉伸时,得到的最小值和最大值是:[133.5, 473.6]对这些数量级来说,220.63看起来是一个很大的误差。我只有30个样本点是否会有重大影响?
解答
这里我们可以看到最终评估的结果误差较大的问题是因为我们的样本点仅有30个,但是对于精确的机器学习来说真的太少了,所以我们需要进行大量的样本点,至少应该在几十个,另外,每个样本点之间的生物两差异十分明显,所以造成了这个结果的误差估计较大。
具体的生物量估算请查看这个:
https://www.tandfonline.com/doi/abs/10.1080/17538947.2023.2270459
outOfBagErrorEstimate
在GEE中的explain函数中,outOfBagErrorEstimate参数表示是否计算袋外误差估计值(Out-of-Bag Error Estimate)。袋外误差估计是一种用于评估随机森林模型性能的方法。在随机森林中,每次构建决策树模型时,会从训练集中随机选择一部分样本,留下另外一部分样本作为袋外数据。袋外误差估计即使用袋外数据来评估模型的预测性能。
具体来说,当outOfBagErrorEstimate参数设置为true时,explain函数会计算袋外误差估计值,并返回该值作为函数的一部分详细信息。袋外误差估计值可以用来评估随机森林模型的预测准确性,通常越低表示模型性能越好。当outOfBagErrorEstimate参数设置为false时,explain函数不会计算袋外误差估计值。
通过设置outOfBagErrorEstimate参数,用户可以选择是否获取袋外误差估计值来进一步评估随机森林模型的性能。根据需要,用户可以根据该值来进行模型的优化或比较不同模型的性能。
原始代码
var ClRN = ee.Image("users/bagnato/APN/ClasCobCiefap-RN-N2"),
ClNQN = ee.Image("users/bagnato/APN/ClasCobCiefap-NQN-N2"),
pvSel = {"opacity":1,"bands":["Clase"],"min":1,"palette":["fa1dff"]},
pvCarto = {"opacity":1,"bands":["Clase"],"min":1,"max":22,"palette":["9cd5ea","c2c2c2","f1ed83","ffffff","c84722","bdea80","f9b51e","1b148a","8a5b34","12840a","1067d0","763164","71b11a","ff6b15","dc8227","46661b","000000","0f561e","b99c36","337c64","f58747","305125"]},
PNNH = ee.FeatureCollection("users/bagnato/APN/Vectores/PNNHContornoConEjidos_dis"),
IFN2 = ee.FeatureCollection("users/bagnato/APN/Forestal/UM_BAP_INBN2-PNNH"),
pvNDVI = {"opacity":1,"band