首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对MSE错误的混淆

对MSE错误的混淆
EN

Data Science用户
提问于 2020-01-25 20:37:52
回答 1查看 490关注 0票数 3

我建立了一个随机森林回归模型并计算了我自己的误差。我还想计算MAE、MSE和RMSE,以便将我的结果与类似的用例进行比较。我对结果感到困惑,因为结果要小得多。

我使用的随机森林回归器函数是默认的。所以我只是好奇有没有人能解释我的MAE,MSE,RMSE?还是我做错什么了?

代码语言:javascript
复制
# Random Forest Regressor trainieren
random_state = 42

rf.fit(X_train, y_train)

这是我自己的错误的结果:

代码语言:javascript
复制
Testset size: 19688
mean error(AVG): 0.10146151388130142
median error (Median): 0.061079373768676316

在我看来,这些结果令人困惑:

代码语言:javascript
复制
# predict the testset
y_pred = rf.predict(X_test)


# Random Forest Basline Model evaluation
print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred))  
print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred))  
print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))

#Mean Absolute Error: 0.027392195979941525
#Mean Squared Error: 0.00142917555312868
#Root Mean Squared Error: 0.03780443827288907
EN

回答 1

Data Science用户

发布于 2020-10-08 23:23:20

在仔细考虑之后,让我们回顾一下随机森林回归(RFR)的机制:

因此,这种平均模型的思想或过程是一种叫做Ensembling的技术。此外,随机森林是一种监督学习算法,它使用集成学习方法进行分类和回归。随机森林是一种套袋技术,而不是一种促进技术。它在训练时使用了大量的决策树,并输出了类的模式(分类)或平均预测(回归)。

如果您检查滑雪文献,评估的指标如下:

  • MSE (默认)-> MSE的根--> RMSE (可选)
  • MAE - MAPE (可选)

此外,建议通过此帖子对连续数据使用MSE。

您可以使用score(X, y)的方法:返回预测的决定系数R^2。

系数R^2定义为(1 - u/v),其中:

  • u是平方((y_true - y_pred) ** 2).sum()的残差和。
  • v是平方((y_true - y_true.mean()) ** 2).sum()的总和。

最好的分数是1.0,它可以是负的(因为模型可以任意恶化)。

一个常数模型总是预测y的期望值,而不考虑输入特性,则得到R^2分数为0.0。

这个问题的问题是OP没有分享关于在训练和测试数据集中评估使用过的度量的信息,除了他自己定义的度量公式和一些SKlearn度量,如下所示:

代码语言:javascript
复制
#OP's defined metric #MSE
average_mean_error = (SalesPrice - predPrice) / Salesprice

result_rfbl.insert(2, "predResidualValue", rf.predict(X_test), True) 
result_rfbl.insert(2, "predPrice",  round(result_rfbl["predResidualValue"] * result_rfbl["NEUPREIS"], 2), True) 
result_rfbl.insert(2, "SalesPrice", round(result_rfbl["RESTWERT"] * result_rfbl["NEUPREIS"], 2), True) 

# absolute prozentualer Fehler #MAPE
result_rfbl.insert(2, "ERROR", abs(result_rfbl["SalesPrice"] - result_rfbl["predPrice"])/result_rfbl["SalesPrice"], True)

我假设他的模型似乎是过分合适的,如果验证MSE高于培训MSE,并得到一个非常不错的结果与培训MSE,但我不想判断的封面,这本书。如果是这样的话,RFR-模型需要应用特征工程RFR-分析正则化,例如脊(L2正则化)和Lasso (L1正则化)。

为了更好地理解手动定义的MSE和Sklearn之间的差异背后的原因,我提请您注意SalesPrice上的决策树第一次从这个来源拆分的最小加权最小均方误差计算。

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/67053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档