我现在使用 sklearn.ensemble 中的 RandomForestRegressor 来分析数据集,我选择“mse”作为衡量分割质量的函数。但是我不太清楚mse是如何计算的。谁能在这里向我解释一下(最好用方程式)或给我一些参考资料?提前谢谢你。
如果我想简短地回答,这个指标是成本函数方法之一。考虑下图中你的模型绿线,那些蓝点是数据(观察)。
MSE,顾名思义,是所有数据点的平方面积相对于一条线的平均总和,总之代表你的模型误差。
MSE 可以通过以下方式计算:
它显示模型的好坏。 更小 MSE,更好模型!
更多信息:
更新 30.05.2019: 要验证事物,您可以根据其文档 RandomForestRegressor() 深入研究文档,有时也可以深入研究代码,MSE 只不过是 方差减少 作为特征选择标准,即使当你检查它用于measuring the quality of a split的源代码。另一方面,如果您对
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)