Scikit learn Freidman mse和mse之间的区别是什么?

Scikit learn Freidman mse和mse之间的区别是什么?,scikit-learn,statistics,Scikit Learn,Statistics,我正在查看sklearn中的GradientBoostingClassifier。然后,我发现有三种标准。弗里德曼mse,mse,mae。 sklearn提供的说明如下: 用于测量分割质量的函数。支持的标准是“friedman_mse”表示均方误差和friedman的改善分数,“mse”表示均方误差,“mae”表示平均绝对误差。“friedman_mse”的默认值通常是最好的,因为它在某些情况下可以提供更好的近似值 我不明白有什么不同? 谁会让我知道 谢谢 我在link中提供了一个完整的答案,这

我正在查看
sklearn
中的
GradientBoostingClassifier
。然后,我发现有三种标准。弗里德曼mse,mse,mae。
sklearn
提供的说明如下:

用于测量分割质量的函数。支持的标准是“friedman_mse”表示均方误差和friedman的改善分数,“mse”表示均方误差,“mae”表示平均绝对误差。“friedman_mse”的默认值通常是最好的,因为它在某些情况下可以提供更好的近似值

我不明白有什么不同? 谁会让我知道


谢谢

我在link中提供了一个完整的答案,这是因为写TeX很方便。然而,事实上,这个分割标准让我们不仅可以决定我们离期望结果有多近(MSE就是这么做的),但也基于我们将在区域l或区域r中找到的期望k类的概率(通过考虑全局权重w1*w2/(w1+w2))。我强烈建议您查看上面的链接以获得完整的解释

根据scikit学习源代码,这两个标准之间的主要区别在于
杂质改善方法。MSE/FriedmanMSE准则计算当前节点的杂质并尝试减少(改善)它,杂质越小越好

均方误差杂质标准

MSE=sum\u square\u of_left/w\u l+sum\u square\u of_right/w\u r

另一方面,FriedmanMSE杂质标准采用以下方法提高纯度:

diff=w_r*总左和-w_l*总右和
改进=差异**2/(w_r*w_l)
注:w_r(
)表示总计
和,反之亦然

你可以用更好的符号简化以下方程式,这是弗里德曼出版的自己(公式35)中提供的。 上面说

改进=(w_l*w_r)/(w_l+w_r)*(平均值左-平均值右)^2

其中,
w_l
w_r
是各自左侧或右侧部分的相应权重之和


为了给
left
right
关键字赋予意义,请将整个系统想象成一个数组(例如示例[start:end]),例如
left
表示当前节点的左侧元素。

您可以在公式(35)中找到问题的答案在Friedman最初的梯度增强论文中,或者查看《非编码问题》中的
FriedmanMSE
定义,因此可以说这是一个离题的问题——更适合于。