决策树回归器和 KNN 回归器的评估指标

数据挖掘 回归 决策树 线性回归 k-nn
2021-10-06 03:53:29

我已经开始研究决策树回归器和 KNN 回归器。

我已经建立了模型,但不确定需要考虑哪些指标进行评估。到目前为止,我已经考虑了均方根误差。

我们可以使用R2决策树和 KNN 的值还是仅适用于线性回归模型

我也贴了R2和 MSE 值。根据我的理解,线性回归模型是稳定的,决策树过度拟合,KNN 的误差较小。这里需要考虑哪种模型?

R2 Score for train - KNN regression 0.8215942683102192
R2 Score for test - KNN regression 0.7160388084850589
Mean squared error for train - KNN regression 49.92162362176166
Mean squared error for test - KNN regression 78.30907381395349

R2 Score for train - linear regression 0.6141419744748021
R2 Score for test - linear regression 0.6117893766210736
Mean squared error for train - linear regression 107.97107771851036
Mean squared error for test - linear regression 107.0583420197463

R2 Score for train - Decision Tree regression 0.9962039204515297
R2 Score for test - Decision Tree regression 0.7866182225490949
Mean squared error for train - Decision tree regression 1.0622217832469776
Mean squared error for test  - Decision tree regression 58.84511637596899

更新 AIC 和 BIC 值

AIC value - Test - KNN       :   -3.8272461328797505
BIC value - Test - KNN       :   1169.4748549110836
AIC value - Test - Linear Reg:   -4.452667046616746
BIC value - Test - Linear Reg:   1250.154152783156
AIC value - Test - Decision T:   -3.2766787253336602
BIC value - Test - Decision T:   1098.4516593376377

谢谢你。

1个回答

通常,当我们尝试在模型之间进行比较并选择最佳模型时,我们会选择其他指标,例如AICBICAUC(这不适用,因为它用于分类算法)等R2.

现在为什么它们是重要的标准,因为 AIC 试图选择最充分地描述未知的高维现实的模型。这意味着现实永远不在正在考虑的候选模型集中。相反,BIC 试图在候选集合中找到 TRUE 模型。我发现假设现实是在研究人员在此过程中建立的模型之一中实例化的假设很奇怪。这对 BIC 来说是一个真正的问题。

通常我们同时使用 AIC 和 BIC。

您可以通过此链接更好地了解 AIC、BIC 以及哪个更好,但结论都很重要。

现在当我们比较R2和 AIC 值:

R2和 AIC 正在回答两个不同的问题。我想保持这种轻松和非数学的,所以我的陈述是非数学的。 R2正在说明您的模型对观察到的数据的解释程度。如果模型是回归且未调整R2被使用,那么这在鼻子上是正确的。
另一方面,AIC 正试图解释该模型对新数据的预测效果如何。也就是说,AIC 是衡量模型对新数据的拟合程度,而不是现有数据。较低的 AIC 意味着模型应该具有改进的预测。

通常,添加更多变量会降低预测准确性,在这种情况下,具有更高的模型 R2将有更高(更差)的 AIC。一个很好的例子是“R 统计学习简介”一章的回归模型,包括“最佳子集”和正则化。他们对“击球手”数据集进行了非常彻底的分析。也可以做一个思想实验。想象一下,有人试图根据一些已知变量来预测输出。在拟合中添加噪声变量会增加R2,但它也会降低模型的预测能力。因此具有噪声变量的模型将具有更高的R2 和更高的 AIC。

要了解有关上述说明的更多信息,您可以通过此链接

我还粘贴了 R2 和 MSE 值。根据我的理解,线性回归模型是稳定的,决策树过度拟合,KNN 的误差较小。这里需要考虑哪种模型?

要回答这个问题,我认为您需要导出 AIC 和 BIC 值,最后您可以决定选择哪种模型。

可以使用OLS导出线性回归的 AIC 值,因为 AIC 的值是直接可用的。

如果你想导出,可以通过这个链接

人工智能:

AIC=2k2ln(sse)

其中 k= 变量数

比克:

BIC=nln(sse/n)+kln(n)

如果有任何其他问题,请告诉我。