Freidman mse和mse有什么区别?

时间:2019-03-12 04:04:01

标签: scikit-learn statistics

我正在寻找GradientBoostingClassifier中的sklearn。然后,我发现有3种标准。弗里德曼女士,女士,湄。 sklearn提供的描述是:

  

用于测量分割质量的功能。支持的标准是“弗里德曼_米斯”(Friedman_mse)表示弗里德曼的平均得分,并由弗里德曼(Friedman)进行改进,“ mse”表示均方误差,“ mae”表示平均绝对误差。通常,“ friedman_mse”的默认值是最好的,因为在某些情况下它可以提供更好的近似值。

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

谢谢!

2 个答案:

答案 0 :(得分:0)

由于编写TeX的方便,我在this链接中提供了完整的答案。然而,它的恢复是基于这样一个事实,即分裂标准不仅使我们能够做出决定,不仅取决于我们与期望结果的接近程度(这是MSE所做的事情),而且还基于期望的k类概率我们将在区域l或区域r中找到(通过考虑全局权重w1 * w2 /(w1 + w2))。我强烈建议您检查上面的链接以获取完整说明。

答案 1 :(得分:0)

根据scikit-learn源代码,这两个条件之间的主要区别是impurity-improvement方法。 MSE / FriedmanMSE准则计算当前节点的杂质并尝试减少(改善)杂质,杂质越小越好。

均方误差杂质标准。

MSE = sum_square_of_left / w_l + sum_square_of_right / w_r

source

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

diff = w_r * total_left_sum - w_l * total_rigth_sum
improvement = diff**2 / (w_r * w_l)

注意:w_r(right)是总计left的总和,反之亦然。

您可以使用弗里德曼(Friedman)出版的paper本身(等式35)提供的更好的表示法简化以下方程式。 其中说

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

w_lw_r是各个左或右部分的相应权重之和。

source

要为leftright关键字分配含义,请想象一个数组中的整个系统(例如,samples [start:end]),例如,left表示当前节点。