序言
分类和回归是两个主要的预测问题,通常在数据挖掘和机器学习。我们将讨论分类和回归,以及它们之间的差异。
分类算法
分类是寻找或发现模型或函数的过程,该模型或函数有助于将数据分为多个类别,即离散值。在分类中,根据输入中给定的一些参数将数据分类到不同的标签下,然后为数据预测标签。
-
在分类任务中,我们应该使用独立的特征来预测离散的目标变量(类别标签)。
-
在分类任务中,我们应该找到一个决策边界来分隔目标变量中的不同类。
导出的映射函数可以用“if-then”规则的形式表示。分类过程处理数据可以被划分为两个或多个离散标签的问题。让我们举个例子,假设我们想根据先前记录的一些参数来预测A队赢得一场比赛的可能性。那么就会有两个标签是和不是。
分类算法的类型
随着时间的推移,已经开发了不同类型的现有技术分类算法,可以通过采用诸如Bagging和Boosting之类的技术来为分类任务提供最佳结果。
-
决策树(Decision Tree)
-
随机森林分类器(Random Forest Classifier)
-
K–最近邻居(K-Nearest Neighbors)
-
支持向量机(Support Vector Machine)
回归算法
回归是寻找模型或函数的过程,用于将数据区分为连续的实值,而不是使用类或离散值。它还可以根据历史数据识别分布运动。因为回归预测模型预测数量,因此,模型的技巧必须报告为这些预测中的错误。
-
在回归任务中,我们应该使用独立特征来预测连续目标变量。
-
在回归任务中,我们通常面临两类问题:线性回归和非线性回归。
让我们在回归中也举一个类似的例子,我们正在借助先前记录的一些参数来发现某些特定地区降雨的可能性。那么就有一个与雨相关的概率。
回归算法的类型
随着时间的推移,已经开发了不同类型的最先进的回归算法,可以通过采用诸如Bagging和Boosting之类的技术来为回归任务提供最佳结果。
-
套索回归(LASSO Regression)
-
岭回归(Ridge Regression)
-
XGBoost回归器(XGBoost Regressor)
-
LGBM回归器(Light Gradient Boosting Machine, LGBM Regressor)
分类与回归的比较
分类 | 回归 |
在这个问题陈述中,目标变量是离散的 | 在这个问题陈述中,目标变量是连续的 |
类似像垃圾分类、疾病预测的问题,使用分类算法来解决 | 类似像房价预测、降雨预报的问题,使用回归算法来解决 |
在该算法中,试图找到最好的决策边界,该边界能够以最大可能的分离度分离两个类别 | 在该算法中,试图找到能够代表数据整体趋势的最佳拟合线 |
使用评估指标,如精确度、召回率和F1分数来评估分类算法的性能 | 使用评估指标,如均方差、R2得分、以及MAPE来评估回归算法的性能 |
用来解决二元分类或多类分类的问题 | 用来解决线性回归模型以及非线性模型 |
输入数据为自变量和分类因变量 | 输入数据为自变量和连续因变量 |
分类算法任务是将输入值(x)与离散输出变量(y)进行映射 | 回归算法任务是将输入值(x)与连续输出变量(y)进行映射 |
输出为分类标签 | 输出为连续数值 |
目标是预测分类/类别标签 | 目标是预测连续数值 |
示例用例包括垃圾邮件检测、图像识别和情感分析 | 示例用例包括股价价格预测、房屋价格预测和需求预测 |
分类算法有: 逻辑回归、决策树、随机森林、支持向量机(SVM)、K-最近邻(KNN)、朴素贝叶斯、神经网络、K-均值聚类、多层感知器(MLP)等 | 回归算法有: 线性回归、多项式回归、岭回归、LASSO回归、支持向量回归(SVR)、用于回归的决策树、随机森林回归、K-近邻(KNN)回归、用于回归的神经网络等 |
何时使用回归/分类?
当需要将数据集分类为与响应变量相关联的不同类别时,使用分类树。通常,这些类是二元的。例如:yes或no,并且它们是互斥的。虽然存在可能有两个以上类别的情况,但在这些情况下使用分类树算法的修改版本。
另一方面,当处理连续响应变量时,使用回归树。例如,如果响应变量表示连续值,如对象的价格或当天的温度,则回归树是适当的选择。
在某些情况下,需要混合使用回归和分类方法。例如,序数回归在处理排序或有序类别时发挥作用,而多标签分类适用于数据点可以同时与多个类别相关联的情况。