我正在调查GradientBoostingClassifier in sklearn。然后,我发现有三种标准。弗里德曼mse,mse,mae。sklearn提供的描述如下:
测量分割质量的功能。支持的标准是:弗里德曼的均方误差和改进分数为“friedman_mse”,均方误差为“均方误差”,平均绝对误差为“mae”。“friedman_mse”的默认值通常是最好的,因为在某些情况下它可以提供更好的近似。
我不明白什么是不同的?谁会让我知道?
谢谢!
发布于 2020-12-07 16:22:22
根据scikit-learn源代码,这两个标准之间的主要区别是impurity-improvement方法。MSE / FriedmanMSE准则计算了当前节点的杂质,并试图减少(改进),杂质越小越好。
均方误差杂质准则
MSE = sum_square_of_left / w_l + sum_square_of_right / w_r另一方面,FriedmanMSE杂质准则使用以下方法来提高纯度:
diff = w_r * total_left_sum - w_l * total_rigth_sum
improvement = diff**2 / (w_r * w_l)注: w_r (
right)为left之和,而visa为反之亦然。
您可以使用更好的表示法简化以下公式,这是Friedman发布的纸本身(eq )中提供的。35)。上面写着
改进= (w_l * w_r) / (w_l + w_r) * (mean_left - mean_right) ^2
哪个
w_l,w_r是相应的左或右部分的权重之和。
要为left和right关键字分配意义,可以想象整个系统在一个数组中(例如samplesstart: end),例如,left是指当前节点的左元素。
发布于 2020-01-08 00:22:51
由于编写这的方便,我在TeX链接中提供了一个完整的答案。然而,它恢复了这样的事实,即这个分裂准则不仅允许我们决定我们离期望的结果有多近( MSE就是这样做的),而且还基于我们将要在区域l或区域r中找到的期望k类的概率(通过考虑全局权重w1*w2 / (w1 + w2))。我强烈建议您查看上面的链接以获得完整的解释。
https://stackoverflow.com/questions/55113978
复制相似问题