我正在寻找GradientBoostingClassifier
中的sklearn
。然后,我发现有3种标准。弗里德曼女士,女士,湄。
sklearn
提供的描述是:
用于测量分割质量的功能。支持的标准是“弗里德曼_米斯”(Friedman_mse)表示弗里德曼的平均得分,并由弗里德曼(Friedman)进行改进,“ mse”表示均方误差,“ mae”表示平均绝对误差。通常,“ friedman_mse”的默认值是最好的,因为在某些情况下它可以提供更好的近似值。
我不明白有什么不同? 谁会让我知道?
谢谢!
答案 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
另一方面,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_l
,w_r
是各个左或右部分的相应权重之和。
要为left
和right
关键字分配含义,请想象一个数组中的整个系统(例如,samples [start:end]),例如,left
表示当前节点。