我建立了一个线性回归模型,并根据 R-Squared 和 RMSE(后者交叉验证)对其进行了评估。
然后,我在相同的数据上构建了一个逻辑回归分类器。它回答了同样的问题,但当然是离散化的。我想测试这个问题的简化是否提高了预测质量。分类器根据准确性进行评估(交叉验证)。
如何比较两个模型的性能?
我可以简单地比较比率和。不过,这感觉有点不对劲。
我建立了一个线性回归模型,并根据 R-Squared 和 RMSE(后者交叉验证)对其进行了评估。
然后,我在相同的数据上构建了一个逻辑回归分类器。它回答了同样的问题,但当然是离散化的。我想测试这个问题的简化是否提高了预测质量。分类器根据准确性进行评估(交叉验证)。
如何比较两个模型的性能?
我可以简单地比较比率和。不过,这感觉有点不对劲。
想象一下:您正在尝试使用某些特征来预测人口的年龄。它不能很好地工作。然后,您正在降低问题的复杂性。您只尝试预测年龄是高于还是低于 20 岁。这很有效,使用相同的功能。我只是想量化这种简化所带来的改进。
所以你只需要两个模型,一个说年龄是一个数值(回归),另一个说年龄是一个常数,取决于它低于或高于某个阈值(分类)的天气。要选择最佳常数,您只需采用年龄的条件平均值,假设高于或低于阈值。现在,您可以使用相同的指标简单地比较两种结果,以比较回归模型(例如 RMSE、MAE)。
我想,在绝大多数情况下,这会告诉你,无论回归模型有多糟糕,它仍然比只预测两个常数要好。但如果你仔细想想,归根结底,这就是分类模型会给你的。
现在,如果您同意我的观点,即使用分类器会给您留下两个条件均值作为近似连续变量的常数,那么接下来会发生另一件事。以某些变量为条件的算法进行二进制拆分(您还在评论中说您实际上没有任何预先指定的阈值)并预测两个条件均值是一个非常简单的回归树(请参阅此处了解决策树的工作原理) . 通常,您会使用更复杂的回归树,这样会产生更多的拆分,因此会更准确。更重要的是,通常你不会使用一棵树,而是使用随机森林许多树,在不同的数据子集上训练,进行多个不同的拆分,然后聚合输出。那么,你试过随机森林吗?这是一个简单但非常强大的算法,可以为您完成所有“分类”部分,但更好。
但一般的答案是,在大多数情况下,您无法将分类与回归进行比较. 两种方法都会给你不同的结果,我想不出它们是等价的情况。就现实生活中的例子而言,假设您使用算法来预测客户的年龄,并在此基础上向他们发送有针对性的营销活动。通过更精确的年龄预测,您将能够向他们发送针对特定年龄的广告系列。在这种情况下,您越准确,对您就越好。另一方面,您可以量化这一点,并检查如果您的广告系列针对精确年龄和两个年龄组(就点击、购买等一些业务指标而言),您的业务做得更好。基于此,您还将知道使用回归与分类会好多少。如果分类任务完全不同,例如分类“您想使用算法的输出并检查哪种算法更适合该任务。
我会根据我的问题选择指标。即,如果我的问题是预测一个人的年龄,我会选择 RMSE,如果我的问题是预测年轻或年老,我会选择准确度。
选择指标后,您需要能够将该指标与模型一起使用。即,如果您的问题是预测年轻人或老年人,那么假设您有一个阈值来确定用于训练 LR 的标签,因此您可以应用@EdM 提到的内容。
恕我直言,如果您比较执行不同任务的两个模型,则不能得出一个比另一个更好的结论,因为它们在做不同的事情。
如果我误解了什么,请告诉我。