分类任务的线性回归与逻辑回归

本文解释了为什么逻辑回归在分类问题上比线性回归更好,还有两个为什么线性回归不适合的原因:

1.预测值是连续的,不是概率

2.使用线性回归进行分类时对不平衡数据敏感

监督学习是机器学习的重要组成部分。 通过将输入变量映射到结果标签,从训练数据集中的示例中学习是一项任务,然后可以将其用于预测新观察结果。 监督学习分类任务的示例包括:

-根据幸存者和泰坦尼克号沉没幸存者名单,预测是否有人可以幸免于难( 来自Kaggle

-给定一组猫和狗的图像,确定下一张图像中是否包含狗或猫( 来自Kaggle

-给定一组带有评论标签的电影评论,请确定新评论的评论( 来自Kaggle

-给定手绘数字从0到9的图像,请在手绘数字图像上标识一个数字( 来自Kaggle

示例1和2是二进制分类问题的示例,其中只有两个可能的结果(或类)。 示例3和示例4是多类分类问题的示例,其中有两个以上的结果。

可以使用线性回归解决分类问题吗?

假设我们创建了一个完美平衡的数据集(如应有的一切),其中包含客户列表和用于确定客户是否已购买的标签。 在数据集中,有20个客户。 10位年龄介于10到19之间购买的客户,10位年龄介于20到29之间没有购买的客户。 “已购买”是由0和1表示的二进制标签,其中0表示“客户未购买”,而1表示“客户已购买”。

线性回归模型的目标是找到输入变量和目标变量之间的关系。 以下是使用上述数据集训练的线性回归模型。 红线是训练数据集的最佳拟合线,其目的是最小化预测值和实际值之间的距离。

使用此模型进行预测非常简单。 无论年龄多大,我们都可以沿Y轴预测值。 如果Y大于0.5(在绿线上方),则预测该客户将进行购买,否则将不进行购买。

+-----+-------------------+
| Age | Predicted Y Value |
+-----+-------------------+
|  10 |        1.21428571 |
|  15 |        0.83834586 |
|  19 |        0.53759398 |
|  20 |        0.46240602 |
|  25 |        0.08646617 |
|  30 |       -0.28947368 |
+-----+-------------------+

问题#1:预测值是连续的,不是概率的

在二元分类问题中,我们感兴趣的是结果发生的可能性。 概率介于0到1之间,其中某些特定事件的发生概率为1,而0不太可能发生。 但是在线性回归中,我们预测的绝对数范围可能在0和1之外。

使用我们的线性回归模型,年龄在30岁及以上的任何人都具有“购买的”负价值的预测,这实际上是没有意义的。 但是可以肯定的是,我们可以将大于1的任何值限制为1,将小于0的任何值限制为0。线性回归仍然可以工作,对吗?

是的,它可能有用,但是逻辑回归更适合分类任务,我们想证明逻辑回归比线性回归产生更好的结果。 让我们看看逻辑回归如何对我们的数据集进行分类。

现在,我们在相同的数据集上训练了两个模型,一个通过线性回归训练,另一个通过逻辑回归训练。 我们可以使用均方根误差(RMSE)和确定系数(R²分数)比较两种模型的性能。

+---------------------+--------------------+----------------------+
|                     | R2 (higher better) | RMSE (lower better)  |
+---------------------+--------------------+----------------------+
| Linear regression   | 0.7518796992481203 | 0.062030075187969935 |
| Logistic regression | 0.9404089597242656 | 0.014897760068933596 |
+---------------------+--------------------+----------------------+

R 2是观察到的数据点与拟合回归线的紧密程度的度量,通常越高越好。 但是仅靠R²是不够的,因此我们也考虑RMSE。 RMSE衡量观察到的数据点与模型的预测值之间的距离,越低越好。 就像Cassie Kozyrkov 引用它的方式一样

神经网络也可以称为“瑜伽网络”,它们的特殊功能为您提供了非常灵活的边界。

从指标来看,逻辑回归在分类任务中的表现要好于线性回归。

问题2:对数据不平衡敏感

让我们再增加10个年龄在60至70岁之间的客户,并训练我们的线性回归模型,找到最合适的线。

我们的线性回归模型设法适应了一条新线,但是如果您仔细观察,会错误地预测某些客户(20至22岁)的结果。

+-----+-------------------+
| Age | Predicted Y Value |
+-----+-------------------+
|  18 |        0.56495292 |
|  19 |        0.55091537 |
|  20 |        0.53687781 |
|  21 |        0.52284026 |
|  22 |        0.50880271 |
|  23 |        0.49476516 |
|  24 |        0.48072761 |
|  25 |        0.46669006 |
+-----+-------------------+

当线性回归试图通过最小化预测误差来拟合回归线时,以最小化年龄在60至70岁之间的客户的预测值与实际值之间的距离。让我们用相同的数据集训练一个逻辑回归模型。

是! 在这个非常简单的数据集中,逻辑回归可以完美地对所有数据点进行分类。

+-----+-------------------+
| Age | Predicted Y Value |
+-----+-------------------+
|  18 |        0.85713668 |
|  19 |        0.64502441 |
|  20 |        0.35497751 |
|  21 |        0.14286435 |
|  22 |        0.04805457 |
+-----+-------------------+

让我们再次比较两种模型的R²和RMSE,您会发现逻辑回归比线性回归做得更好。

+---------------------+---------------------+----------------------+
|                     | R2 (higher better)  | RMSE (lower better)  |
+---------------------+---------------------+----------------------+
| Linear regression   |  0.4211265134234073 |  0.12863855257257611 |
| Logistic regression |  0.9553066567250715 |  0.00993185406109522 |
+---------------------+---------------------+----------------------+

结论

线性回归适用于预测连续价值的输出,例如预测房地产价格。 它的预测输出可以是任何实数,范围从负无穷大到无穷大。 回归线是一条直线。

而逻辑回归是针对分类问题的,它预测的概率范围是0到1。例如,预测客户是否会购物。 回归线是S形曲线。

笔记本

在此笔记本中查看本文中使用的代码。

本文最初发表于“ 迈向数据科学”


From: https://hackernoon.com/why-linear-regression-is-not-suitable-for-classification-it14m3819

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值