# 机器学习中分类与回归的区别

> 原文： [https://machinelearningmastery.com/classification-versus-regression-in-machine-learning/](https://machinelearningmastery.com/classification-versus-regression-in-machine-learning/)

分类和回归问题之间存在重要差异。

从根本上说，分类是关于预测标签，而回归是关于预测数量。

我经常看到以下问题：

> 如何计算回归问题的准确率？

像这样的问题是没有真正理解分类和回归之间的差异以及试图衡量的准确度的症状。

在本教程中，您将发现分类和回归之间的差异。

完成本教程后，您将了解：

*   该预测性建模是关于学习从输入到输出的映射函数的问题，称为函数逼近。
*   该分类是预测示例的离散类标签输出的问题。
*   该回归是预测例子的连续数量输出的问题。

让我们开始吧。

![Difference Between Classification and Regression in Machine Learning](img/1a050a4f6b40fdc6d76210352edd3f7b.jpg)

机器学习中分类和回归之间的差异
[托马斯威尔逊](https://www.flickr.com/photos/thomaswilson33/7946276420/)的照片，保留一些权利。

## 教程概述

本教程分为 5 个部分;他们是：

1.  函数逼近
2.  分类
3.  回归
4.  分类与回归
5.  在分类和回归问题之间转换

## 函数逼近

预测性建模是使用历史数据开发模型以在我们没有答案的情况下对新数据做出预测的问题。

有关预测性建模的更多信息，请参阅帖子：

*   [预测性建模的温和介绍](https://machinelearningmastery.com/gentle-introduction-to-predictive-modeling/)

预测性建模可以描述为从输入变量（X）到输出变量（y）近似映射函数（f）的数学问题。这被称为函数逼近的问题。

建模算法的工作是找到我们可以给出时间和资源的最佳映射函数。

有关应用机器学习中近似函数的更多信息，请参阅帖子：

*   [机器学习算法的工作原理](https://machinelearningmastery.com/how-machine-learning-algorithms-work/)

通常，我们可以将所有函数逼近任务划分为分类任务和回归任务。

## 分类预测性建模

分类预测性建模是将输入变量（X）到离散输出变量（y）的映射函数（f）近似的任务。

输出变量通常称为标签或类别。映射函数预测给定观察的类或类别。

例如，可以将文本电子邮件分类为属于两个类别之一：“垃圾邮件 _”_ 和“_ 不垃圾邮件 _”。

*   分类问题要求将示例分为两个或更多个类中的一个。
*   分类可以具有实值或离散输入变量。
*   两个类的问题通常被称为两类或二分类问题。
*   两个以上类的问题通常被称为多分类问题。
*   为示例分配多个类的问题称为多标签分类问题。

分类模型通常将连续值预测为属于每个输出类的给定示例的概率。概率可以被解释为属于每个类的给定示例的可能性或置信度。通过选择具有最高概率的类标签，可以将预测概率转换为类值。

例如，特定的文本电子邮件可以被指定为 0.1 的概率为“垃圾邮件”而 0.9 为“非垃圾邮件”。我们可以通过选择“非垃圾邮件”标签将这些概率转换为类别标签，因为它具有最高的预测可能性。

有许多方法可以估计分类预测模型的技能，但最常见的可能是计算分类准确率。

分类准确度是所有预测中正确分类的例子的百分比。

例如，如果分类预测模型做出 5 个预测，其中 3 个是正确的，其中 2 个是不正确的，那么基于这些预测的模型的分类准确率将是：

```
accuracy = correct predictions / total predictions * 100
accuracy = 3 / 5 * 100
accuracy = 60%
```

能够学习分类预测模型的算法称为分类算法。

## 回归预测性建模

回归预测性建模是将输入变量（X）的映射函数（f）近似为连续输出变量（y）的任务。

连续输出变量是实数值，例如整数或浮点值。这些通常是数量，例如数量和大小。

例如，可以预测房屋可以出售特定的美元价值，可能在 100,000 美元到 200,000 美元的范围内。

*   回归问题需要预测数量。
*   回归可以具有实值或离散输入变量。
*   多输入变量的问题通常称为多变量回归问题。
*   输入变量按时间排序的回归问题称为时间序列预测问题。

由于回归预测模型预测数量，因此必须将模型的技能报告为这些预测中的错误。

有许多方法可以估计回归预测模型的技能，但最常见的可能是计算均方根误差，缩写为缩写 RMSE。

例如，如果回归预测模型做出 2 个预测，其中 1.5 个预期值为 1.0，另一个预测值为 3.3，预期值为 3.0，那么 RMSE 将为：

```
RMSE = sqrt(average(error^2))
RMSE = sqrt(((1.0 - 1.5)^2 + (3.0 - 3.3)^2) / 2)
RMSE = sqrt((0.25 + 0.09) / 2)
RMSE = sqrt(0.17)
RMSE = 0.412
```

RMSE 的一个好处是误差分数的单位与预测值的单位相同。

能够学习回归预测模型的算法称为回归算法。

一些算法在其名称中使用“回归”一词，例如线性回归和逻辑回归，这可能会使事情变得混乱，因为线性回归是一种回归算法，而逻辑回归是一种分类算法。

## 分类与回归

分类预测性建模问题与回归预测性建模问题不同。

*   分类是预测离散类标签的任务。
*   回归是预测连续数量的任务。

分类和回归算法之间存在一些重叠;例如：

*   分类算法可以预测连续值，但是连续值是类标签的概率的形式。
*   回归算法可以预测离散值，但是以整数量的形式预测离散值。

一些算法可用于分类和回归，只需很少的修改，例如决策树和人工神经网络。一些算法不能或不能容易地用于两种问题类型，例如用于回归预测性建模的线性回归和用于分类预测性建模的逻辑回归。

重要的是，我们评估分类和回归预测的方式各不相同，不重叠，例如：

*   可以使用准确度来评估分类预测，而不能使用回归预测来评估分类预测。
*   可以使用均方根误差来评估回归预测，而分类预测则不能。

## 在分类和回归问题之间转换

在某些情况下，可以将回归问题转换为分类问题。例如，要预测的数量可以转换为离散桶。

例如，$ 0 到$ 100 的连续范围内的金额可以转换为 2 个桶：

*   0 级：0 美元到 49 美元
*   1 级：50 美元到 100 美元

这通常称为离散化，结果输出变量是标签具有有序关系（称为序数）的分类。

在某些情况下，分类问题可以转换为回归问题。例如，标签可以转换为连续范围。

一些算法已经通过预测每个类的概率来实现这一点，而每个类又可以缩放到特定范围：

```
quantity = min + probability * range
```

或者，可以对类值进行排序并映射到连续范围：

*   1 级$ 0 到$ 49
*   2 级$ 50 至$ 100

如果分类问题中的类标签不具有自然序数关系，则从分类到回归的转换可能导致令人惊讶或差的表现，因为模型可能学习从输入到连续输出范围的错误或不存在的映射。

## 进一步阅读

如果您希望深入了解，本节将提供有关该主题的更多资源。

*   [预测性建模的温和介绍](https://machinelearningmastery.com/gentle-introduction-to-predictive-modeling/)
*   [机器学习算法的工作原理](https://machinelearningmastery.com/how-machine-learning-algorithms-work/)

## 摘要

在本教程中，您发现了分类和回归问题之间的区别。

具体来说，你学到了：

*   该预测性建模是关于学习从输入到输出的映射函数的问题，称为函数逼近。
*   该分类是预测示例的离散类标签输出的问题。
*   该回归是预测例子的连续数量输出的问题。

你有任何问题吗？
在下面的评论中提出您的问题，我会尽力回答。