经常看到这样的问题:“如何计算回归问题的准确度?”像这样的问题反映了没有真正理解分类和回归之间的区别,以及测量的准确度是什么。
这是分类和回归问题之间的一个重要区别。从根本上说,分类就是预测一个标签,而回归则是预测一个数量。
在本文中,你将发现分类和回归之间的区别。
看完文章后,你将会知道:
- 预测模型是关于从输入到输出学习映射函数的问题,称为函数逼近。
- 分类是预测离散类标签输出的问题。
- 回归是预测连续数量输出的问题。
让我们开始吧。
文章概述
本文分为5部分,它们是:
- 函数逼近
- 分类
- 回归
- 分类与回归
- 分类与回归问题之间的转换
函数逼近
预测建模是用历史数据来建立一个模型来预测新数据,针对我们没有答案的问题。
有关预测建模的更多信息,请参见:
预测建模可以描述为从输入变量(x)到输出变量(y)逼近映射函数(f)的数学问题。这称为函数逼近问题。
建模算法的工作是在我们可以提供可用的时间和资源的情况下,找到最好的映射函数。
有关应用机器学习中的逼近函数的更多信息,请参见:
一般来说,我们可以把所有函数逼近任务划分为分类任务和回归任务。
分类预测模型
分类预测建模是将映射函数(f)从输入变量(x)逼近到离散输出变量(y)的任务。
输出变量通常称为标签或类别。映射函数预测给定观测值的类或类别。
例如,文本电子邮件可以分为两类:“垃圾邮件”和“非垃圾邮件”。
- 分类问题要求将实例分为两个或多个类中的一个。
- 分类可以有实值或离散的输入变量。
- 两类问题通常被称为二类或二元分类问题。
- 多于两个类别的问题通常被称为多类别分类问题。
- 一个例子被指派多个类的问题被称为多标签分类问题。
分类模型通常将连续值预测为属于每个输出类别的给定示例的概率。 概率可以被解释为属于每个类别的给定例子的可能性或置信度。 可以通过选择具有最高概率的类别标签将预测概率转换为类别值。
例如,特定的文本电子邮件可能被指定为“垃圾邮件”的概率为0.1,“非垃圾邮件”的概率为0.9。 通过选择“非垃圾邮件”标签,我们可以将这些概率转换为类标签,因为它具有最高的预测可能性。
评估分类预测模型的技巧有很多种方法,但最常见的方法是计算分类准确度。
分类准确率是所有预测中正确分类的百分比。
例如,如果一个分类预测模型做了5个预测,其中3个是正确的,2个是不正确的,那么基于这些预测的模型的分类准确性将是:
accuracy = correct predictions / total predictions * 100
accuracy = 3 / 5 * 100
accuracy = 60%
能够学习分类预测模型的算法被称为分类算法。
回归预测建模
回归预测建模是将输入变量(X)映射到连续输出变量(y)的映射函数(f)的任务。
连续输出变量是一个实数值,例如整数或浮点值。 这些往往是数量,如金额和大小。
例如,一所房子可能会以特定的美元价值出售,可能在$ 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
另外,可以将类值排序并映射到连续范围:
- 0到49美元为第1类
- 50到100美元为第二类
如果分类问题中的类别标签不具有自然的序数关系,则从分类到回归的转换可能会导致令人惊讶或糟糕的性能,因为该模型可能会从输入到连续输出范围学习错误或不存在的映射。
进一步的阅读
如果你想深入了解,本节将提供更多有关该主题的资源。
总结
在本教程中,你了解了分类和回归问题之间的区别。
具体来说,你了解到:
- 预测建模是关于从输入到输出学习映射函数的问题,称为函数逼近。
- 分类是预测离散类标签输出的问题。
- 回归是预测连续数量输出的问题。
Dr. Jason Brownlee 是一名机器学习从业者,学术研究人员,致力于帮助开发人员从入门到精通机器学习。