菜单

监督学习

相关源文件

本文档提供了ML-For-Beginners课程中监督学习算法和技术的概述。它涵盖了监督学习模型的基本概念、类型和实现,重点关注存储库中使用的回归和分类技术。

监督学习是一种机器学习范式,其中模型从带标签的训练数据中学习,以预测未见过的数据的输出。在本课程中,监督学习分为两大类:回归(用于预测连续值)和分类(用于预测分类值或类别)。

监督学习基础知识

监督学习涉及在带标签的数据集上训练模型,其中每个训练样本包含一个输入对象(通常是向量)和一个期望的输出值。模型学习一个将输入映射到输出的函数,然后该函数可用于预测新、未见过输入的输出。

本课程中的监督学习过程遵循以下关键步骤:

  1. 数据准备和清理
  2. 特征选择/工程
  3. 将数据划分为训练集和测试集
  4. 模型选择和训练
  5. 模型评估
  6. 进行预测

来源: 2-Regression/1-Tools/README.md10-45 2-Regression/3-Linear/README.md8-21 4-Classification/1-Introduction/README.md1-45

监督学习模型类型

本课程涵盖两种主要的监督学习模型类型:

回归

回归模型预测连续值。在本课程中,您将学习实现:

  • 线性回归:通过找到穿过数据点的最佳拟合线来预测目标。
  • 多项式回归:通过多项式项扩展线性回归以处理曲线关系。
  • 逻辑回归:尽管名称为“回归”,但它通常用于二元分类。

来源: 2-Regression/README.md1-41 2-Regression/3-Linear/README.md1-80

分类

分类模型预测类别标签或分类。本课程涵盖:

  • 二元分类:预测两个类别中的一个(例如,“是橙子或不是橙子”)。
  • 多元分类:预测多个类别中的一个(例如,菜系类型)。

来源: 4-Classification/README.md1-27 4-Classification/1-Introduction/README.md9-45

回归实现

本课程通过实际示例教授回归,主要使用南瓜价格数据集来预测基于各种特征的价格。

线性回归和多项式回归

线性回归通过拟合数据中的线性方程,找出自变量(特征)和因变量(目标)之间的关系。多项式回归通过包含多项式项来扩展它。

使用Scikit-learn进行关键实现步骤

  1. 准备和拆分数据
  1. 线性回归
  1. 多项式回归
  1. 使用MSE和判定系数等指标评估模型

来源: 2-Regression/3-Linear/README.md159-198 2-Regression/3-Linear/README.md224-252

逻辑回归

尽管名称为逻辑回归,但它常用于二元分类任务。在本课程中,它在回归部分介绍,但与分类概念相连。

使用Scikit-learn进行关键实现

来源: 2-Regression/4-Logistic/README.md9-45 2-Regression/4-Logistic/README.md140-169

分类实现

本课程使用菜系食材数据集来教授分类,以预测菜系类型。

分类实现遵循以下关键步骤:

  1. 数据准备和平衡
  1. 特征选择和数据拆分
  1. 训练分类器
  1. 使用分类指标进行评估

来源: 4-Classification/2-Classifiers-1/README.md145-170 4-Classification/3-Classifiers-2/README.md80-220

监督学习工作流程

整个存储库中使用的典型监督学习工作流程遵循此模式:

此工作流程一致应用于课程中的回归和分类任务,并根据监督学习问题的具体类型进行适当调整。

来源: 2-Regression/1-Tools/README.md80-107 4-Classification/1-Introduction/README.md118-155 4-Classification/2-Classifiers-1/README.md145-170

应用和部署

本课程的最终目标是展示如何将训练好的模型应用于实际应用,例如构建一个菜系推荐的 Web 应用程序。

这展示了监督学习模型从训练到部署到用户界面的完整生命周期。

来源: 4-Classification/4-Applied/README.md117-277

模型选择指南

选择合适的监督学习模型是关键步骤。课程根据问题类型和数据特性提供指导:

问题类型推荐模型何时使用
线性关系(回归)线性回归具有线性关系,简单的连续值预测
非线性关系(回归)多项式回归具有曲线关系,连续值预测
二元分类逻辑回归、SVC预测两个类别中的一个(例如,是/否)
多元分类Linear SVC、KNN、SVC、Random Forest预测多个类别中的一个
小型数据集(<100K 样本)SVC、KNN当您拥有相对较少训练数据时
大型数据集Random Forest、AdaBoost当您拥有大量训练数据时

存储库提供了决策流程图,以帮助根据数据和问题的特性进行模型选择。

来源: 4-Classification/2-Classifiers-1/README.md80-110 4-Classification/3-Classifiers-2/README.md15-37

模型评估

根据问题类型的不同,使用不同的指标来评估监督学习模型。

回归指标

  • 均方误差 (MSE)
  • 均方根误差 (RMSE)
  • 判定系数 (R²)

分类指标

  • 准确率
  • 精确率
  • 召回率
  • F1 分数
  • 混淆矩阵
  • ROC 曲线和 AUC

本课程强调根据具体问题和目标选择适当评估指标的重要性。

来源:2-Regression/3-Linear/README.md195-215 4-Classification/2-Classifiers-1/README.md214-230 2-Regression/4-Logistic/README.md280-380

实际项目示例

该存储库包含监督学习的实际应用

  1. 回归项目:根据品种、来源和日期等特征预测南瓜价格
  2. 分类项目:根据成分列表识别菜肴类型
  3. Web 应用程序:使用训练好的分类模型构建一个菜肴推荐器

这些项目展示了从数据准备到模型部署的完整机器学习工作流程。

来源:2-Regression/3-Linear/README.md308-351 4-Classification/4-Applied/README.md62-117