【发布时间】:2019-10-15 14:15:55
【问题描述】:
我现在使用 sklearn.ensemble 中的 RandomForestRegressor 来分析数据集,并选择“mse”作为衡量分割质量的函数。但我不太清楚 mse 是如何计算的。谁能在这里向我解释一下(用方程式更好)或提供一些参考资料?提前谢谢你。
【问题讨论】:
标签: python random-forest mse
我现在使用 sklearn.ensemble 中的 RandomForestRegressor 来分析数据集,并选择“mse”作为衡量分割质量的函数。但我不太清楚 mse 是如何计算的。谁能在这里向我解释一下(用方程式更好)或提供一些参考资料?提前谢谢你。
【问题讨论】:
标签: python random-forest mse
如果我想尽快回答这个作为成本函数方法之一的指标,如果您认为您的模型遵循下图中的绿线,并且这些蓝点是您的数据 MSE,顾名思义就是平方和的平均值所有数据点的区域相对于总而言之代表您的模型错误的线。 MSE 可以通过以下方式计算:
它显示了 我们的 medel 的好坏。 更小 MSE,更好模型!
更多信息:
Understanding Regression Error Metrics in Python
Introduction to Loss Functions
2019 年 5 月 30 日更新: 要验证事情,您可以深入研究文档,有时还可以深入代码中,根据其文档 .RandomForestRegressor,MSE 只不过是方差减少 作为特征选择标准,即使在您检查源代码时,它也用于测量拆分的质量。另一方面,如果您对 .RandomForestRegressor 中的 MSE 方法持怀疑态度,您可以通过像这样自定义 criterion 来独立使用:
from sklearn.metrics import mean_squared_error
from sklearn.ensemble import RandomForestRegressor
#Feature Selection
criterion = mean_squared_error(y, predictions)
RandomForestRegressor( ...,criterion= criterion,...)
或使用 numpy:
import numpy as np
criterion = np.mean((y_test - est.predict(X_test))**2)
【讨论】:
sklearn 中的文档,RandomForrest Regressor criterion 是:衡量分割质量的函数 这是一个性能度量(默认情况下,MSE ) 这有助于算法决定在树中的节点上进行最佳分割的规则。您可以查看paper 及其计算以便更好地理解。我假设它会检查每个分割点并取平均值。