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
定义,因此可以说这是一个离题的问题——更适合于。