在机器学习入门之监督学习(分类篇)-CSDN博客,以及初步接触了机器学习,在这片文章中我们继续沿着思维导图学习监督学习的剩下部分,回归。
在监督学习中,回归是一种预测型建模技术,它涉及预测一个连续的响应变量(目标变量)基于一个或多个预测变量(特征)。与分类不同,分类预测的是离散标签,回归则是输出连续数值。这使得回归适用于许多现实世界的问题,如预测房价、气温、销售额或任何其他连续量。
常见的回归类型
- 线性回归(Linear Regression):假设目标变量和特征之间存在线性关系。简单线性回归用于单个特征和目标之间的关系,多元线性回归用于多个特征。
- 多项式回归(Polynomial Regression):当数据点与变量之间的关系更适合用多项式表示时使用。
- 岭回归(Ridge Regression)和套索回归(Lasso Regression):这些是线性回归的变体,包含正则化项。岭回归添加了L2正则化项,而套索回归添加了L1正则化项,以避免过拟合并改进模型。
- 逻辑回归(Logistic Regression):虽然名为回归,但它是一种分类方法,用于预测二元变量的概率(如0或1、是或否)。
- 弹性网回归(Elastic Net Regression):结合了岭回归和套索回归的特点,添加了两种类型的正则化项
这里我们从多元线性回归入手,多元线性回归是统计学中的一种回归分析方法,用于估计两个或多个自变量(预测变量)和一个因变量(响应变量)之间的关系。这种模型假设响应变量与各自变量之间存在线性关系。
一、多元线性回归的基本原理
多元线性回归模型可以表示为:
二、最小二乘法(Least Squares Method)
最小二乘法(Least Squares Method)是一种数学优化技术,广泛用于数据拟合和参数估计。在统计学中,尤其是在回归分析中,最小二乘法用于找出最佳函数匹配一组数据,以便最小化实际观测点和预测点之间的误差平方和。
最小二乘法的目标是最小化误差的平方和。对于线性回归问题,我们有数据点集,模型试图找到一条直线(或更高维的超平面),使得所有数据点到这条直线的垂直距离之和的平方最小。
假设我们的模型是一个线性方程:
最小二乘法不仅用于简单的线性回归,还可以扩展到多元线性回归、非线性模型和曲线拟合等更复杂的情况。在多元线性回归中,最小二乘法试图找到多个参数,以使得多维空间中的超平面与数据点之间的误差平方和最小。
三、回归模型的评估
四、回归实战
from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 加载数据集
data = load_boston()
X = data.data
y = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(X_train, y_train)
# 预测测试集结果
predictions = model.predict(X_test)
# 计算均方误差
mse = mean_squared_error(y_test, predictions)
print('Mean Squared Error:', mse)
五、回归与分类的区别
回归和分类都是监督学习中的常见问题,但它们的目标、输出类型和评估方法有所不同。这两种方法各自适用于不同的数据科学问题和场景。
回归(Regression)
目标:回归旨在预测连续的数值。它的主要任务是估计一个或多个自变量(输入)和一个因变量(输出)之间的关系。
输出类型:回归分析的输出是连续的数值,如价格、温度、长度等。
常见算法:
- 线性回归
- 多项式回归
- 岭回归(Ridge Regression)
- 套索回归(Lasso Regression)
评估指标:
- 均方误差(MSE)
- 均方根误差(RMSE)
- 平均绝对误差(MAE)
- 决定系数(R-squared)
分类(Classification)
目标:分类的目标是将实例分到预先定义的类别中。这涉及到将实例数据分配到两个或多个标签(类别)中。
输出类型:分类的输出是类别标签,如是/否(二分类),或者多个类别如狗、猫、鸟(多分类)。
常见算法:
- 逻辑回归
- 决策树
- 随机森林
- 支持向量机(SVM)
- 神经网络
评估指标:
- 准确率(Accuracy)
- 精确率(Precision)
- 召回率(Recall)
- F1 分数
- 混淆矩阵(Confusion Matrix)
- ROC 曲线
关键区别
-
输出差异:
- 回归:预测的是连续值。
- 分类:预测的是离散类别。
-
目标函数:
- 回归:通常使用均方误差作为损失函数,目标是最小化实际值和预测值之间的误差。
- 分类:常用的损失函数包括交叉熵损失(尤其是二分类和多分类问题中),目标是最大化预测正确的概率。
-
评估方法:
- 回归:评估的重点是预测值和实际值之间的差异。
- 分类:评估的重点是正确分类的实例比例和其他相关指标(如精确率和召回率)。
应用示例
- 回归:预测房价、股票价格、温度等。
- 分类:邮件是否为垃圾邮件、图片中是猫还是狗、信用卡交易是否为欺诈。
回归和分类是解决不同类型预测问题的关键技术,选择哪一种取决于问题的具体需求和数据的性质。