菜单

回归

相关源文件

本文档提供了ML-For-Beginners课程中关于机器学习回归模型概述。回归是一种有监督学习技术,用于预测连续值并理解变量之间的关系。本节涵盖了回归的基础知识、不同类型的回归以及使用Python和Scikit-learn的实际实现。

有关分类技术的信息,请参阅分类

回归模型概述

回归模型是强大的机器学习技术,有助于确定变量之间的关系并根据这些关系进行预测。当您需要根据一个或多个输入特征预测连续值(例如价格、温度或年龄)时,它们特别有用。

来源:2-Regression/README.md 2-Regression/3-Linear/README.md 2-Regression/4-Logistic/README.md

开发环境设置

在开始使用回归模型之前,您需要设置开发环境

  1. Python安装:确保您的系统已安装Python
  2. 必需库:
    • Scikit-learn:机器学习模型的主要库(pip install scikit-learn
    • Pandas:用于数据处理(pip install pandas
    • MatplotlibSeaborn:用于数据可视化(pip install matplotlib seaborn
  3. Jupyter Notebooks:用于交互式模型开发(pip install jupyter

来源:2-Regression/1-Tools/README.md18-41

数据准备流程

适当的数据准备对于构建有效的回归模型至关重要

关键步骤包括

  1. 加载数据:通常使用pd.read_csv()
  2. 检查数据:使用df.head()df.info()df.isnull().sum()
  3. 清洗数据:使用dropna()或插补法处理缺失值
  4. 特征工程:创建新特征或转换现有特征
  5. 特征选择:使用相关性分析选择相关变量
  6. 训练-测试分割:使用train_test_split()创建训练集和测试集

来源:2-Regression/2-Data/README.md30-136

线性回归

线性回归是最简单的回归形式,它使用线性方程来模拟变量之间的关系。

数学公式

线性回归的基本方程是

Y = a + bX

其中

  • X 是解释(输入)变量
  • Y 是因(输出)变量
  • b 是直线的斜率
  • a 是 y 截距(当X = 0Y的值)

使用 Scikit-learn 实现

线性回归可以通过几个简单的步骤来实现

来源:2-Regression/3-Linear/README.md 2-Regression/1-Tools/README.md82-209

多项式回归

当变量之间的关系不是线性的时,多项式回归可以通过添加高阶项来捕捉更复杂的模式。

使用 Scikit-learn Pipeline 实现

PolynomialFeatures 转换器将输入特征转换为多项式项(X²、X³ 等),然后由标准线性回归模型使用。

来源:2-Regression/3-Linear/README.md226-241

处理分类特征

许多真实世界的数据集都包含分类变量(如城市名称、产品类型),这些变量在使用回归模型之前必须进行编码

Pandas中的独热编码

来源:2-Regression/3-Linear/README.md259-307

逻辑回归

逻辑回归用于二元分类问题,预测观测值属于特定类别的概率。

与线性回归的关键区别

  1. 预测目标:逻辑回归预测分类结果的概率,而不是连续值
  2. Sigmoid 函数:使用逻辑/sigmoid函数将输出转换为0到1之间的概率
  3. 决策边界:根据预测概率是否超过阈值(通常为0.5)对观测值进行分类

使用 Scikit-learn 实现

模型评估

逻辑回归模型使用特定于分类的指标进行评估

  • 准确率:整体正确预测的百分比
  • 精确率:真阳性与所有预测阳性的比率
  • 召回率:真阳性与所有实际阳性的比率
  • F1分数:精确率和召回率的调和平均数
  • ROC 曲线:真阳性率与假阳性率的图

来源:2-Regression/4-Logistic/README.md35-378

回归分析的数据可视化

可视化对于理解数据关系和评估回归模型至关重要

关键可视化技术

  1. 散点图:可视化两个变量之间的关系

  2. 相关性热力图:识别多个变量之间的关系

  3. 回归线图:可视化模型预测与实际数据

  4. 分类图:用于逻辑回归结果

来源:2-Regression/2-Data/README.md 2-Regression/4-Logistic/README.md92-142

完整的回归工作流程

整个回归建模过程可以总结为以下工作流程

此工作流程代表了使用 Scikit-learn 实现回归模型的标准方法,从初始数据准备到模型评估和优化。

来源:2-Regression/1-Tools/README.md 2-Regression/3-Linear/README.md313-350

总结

回归是机器学习中的一项基本技术,用于预测连续值和理解变量之间的关系。课程内容包括

  1. 线性回归:用于模拟变量之间的线性关系
  2. 多项式回归:用于捕捉数据中的非线性模式
  3. 逻辑回归:用于二元分类问题

每种回归类型都有特定的用例、实现方法和评估指标。通过理解这些技术,您可以有效地解决各种预测问题,从预测价格到将项目分类。

回归类型用例关键函数评估指标
线性级连续值预测LinearRegression()MSE、R² 分数
多项式非线性关系PolynomialFeatures()MSE、R² 分数
逻辑二元分类LogisticRegression()准确率、精确率、召回率、F1、ROC/AUC

来源:2-Regression/README.md