菜单

机器学习导论

相关源文件

本文档提供了ML-For-Beginners课程中实现的机器学习 (ML) 的技术概述。它涵盖了核心的 ML 概念、术语以及整个代码库使用的技术方法。有关历史背景,请参阅机器学习和人工智能的历史。有关 ML 系统中的道德考量,请参阅机器学习中的公平性和道德

什么是机器学习?

机器学习是人工智能的一个子集,它使系统能够在没有明确编程的情况下从数据中学习模式。与开发人员创建特定规则的传统编程不同,机器学习算法从数据中发现模式以进行预测或决策。

来源:1-Introduction/1-intro-to-ML/translations/README.fr.md, 1-Introduction/1-intro-to-ML/translations/README.id.md

机器学习与人工智能和数据科学的关系

ML-For-Beginners 代码库特别关注经典机器学习技术,置于更广泛的生态系统中

来源:1-Introduction/1-intro-to-ML/translations/README.fr.md, 1-Introduction/1-intro-to-ML/translations/README.id.md

机器学习范式

代码库实现了三种主要的学习范式

监督学习

模型从标记数据中学习以进行预测。代码库实现了

  • 回归:使用 LinearRegressionLogisticRegression 等模型进行连续值预测
  • 分类:使用 SVCKNeighborsClassifierRandomForestClassifier 等模型对数据进行分类

无监督学习

模型在无标签数据中寻找模式。代码库关注

  • 聚类:使用 KMeans 等算法对相似数据点进行分组

强化学习

模型通过与环境交互来学习。代码库涵盖

  • Q-Learning:一种基于价值的强化学习方法

来源:1-Introduction/1-intro-to-ML/translations/README.fr.md, 代码库结构分析

技术实现

核心机器学习工作流程

ML-For-Beginners 代码库在各种技术中都展示了一个一致的工作流程

来源:1-Introduction/4-techniques-of-ML/translations/README.id.md

数据准备技术

数据准备是代码库中多个笔记本上实现的关键步骤

技术目的实现
数据收集收集相关数据集使用 pandas.read_csv() 加载数据
数据清理处理缺失值、异常值dropna()fillna()、异常值检测
特征工程创建新特征笔记本中的自定义转换
数据转换缩放、编码变量StandardScalerOneHotEncoder
数据分割创建训练/测试集sklearn.model_selection 中的 train_test_split

来源:1-Introduction/4-techniques-of-ML/translations/README.id.md, 代码库结构

模型训练实现

训练过程遵循代码库中所有笔记本的一致模式

来源:代码库笔记本分析

监督学习模型

代码库使用 scikit-learn 实现各种监督学习模型

来源:代码库结构分析, 1-Introduction/1-intro-to-ML/translations/README.fr.md

模型评估

代码库展示了根据 ML 任务的不同而不同的评估技术

任务类型评估指标实现
回归MSE, RMSE, MAE, R²sklearn.metrics.mean_squared_error, r2_score
分类准确率、精确率、召回率、F1 分数sklearn.metrics.accuracy_score, classification_report
聚类轮廓系数, 惯性sklearn.metrics.silhouette_score

来源:代码库结构分析

关键机器学习术语

理解这些术语对于使用代码库笔记本至关重要

术语定义
特性用于预测的输入变量 (在笔记本中通常是 X)
目标要预测的输出变量 (在笔记本中通常是 y)
训练将模型拟合到数据的过程 (笔记本中的 model.fit())
推理使用训练好的模型进行预测 (笔记本中的 model.predict())
过拟合模型过度学习训练数据,包括噪声
欠拟合模型未能捕捉数据中的潜在模式
超参数未从数据中学到的模型配置设置

来源:1-Introduction/4-techniques-of-ML/translations/README.id.md

技术要求

要学习 ML-For-Beginners 课程,您需要

  • 支持 Jupyter Notebooks 的 Python 环境
  • 必需库:scikit-learn, pandas, numpy, matplotlib, seaborn
  • 对于 Web 应用程序示例:Node.js 和 npm
  • 推荐 IDE:Visual Studio Code

代码库在介绍性课程中包含详细的设置说明。

来源:1-Introduction/1-intro-to-ML/translations/README.fr.md, 1-Introduction/1-intro-to-ML/translations/README.id.md

机器学习的应用

代码库展示了实际的 ML 应用,包括

  • 通过患者数据预测疾病
  • 使用历史数据预测天气
  • 文本情感分析
  • 欺诈和异常检测
  • 时间序列预测
  • 自然语言处理任务

每个应用程序都通过包含真实数据集的笔记本实现,以提供实践经验。

来源:1-Introduction/1-intro-to-ML/translations/README.fr.md, 1-Introduction/1-intro-to-ML/translations/README.id.md

课程结构

ML-For-Beginners 课程的组织旨在逐步建立知识

  1. 简介:基本概念、历史、公平性和技术
  2. 回归:工具、数据准备、线性回归和逻辑回归
  3. 分类:简介、各种分类器、应用分类
  4. 聚类:数据可视化、K-means 聚类
  5. 自然语言处理:简介、常见 NLP 任务、情感分析
  6. 时间序列:简介、ARIMA 预测
  7. 强化学习:Q-learning、Gym 环境

每个部分都包括理论、实际代码示例和练习,以巩固学习。

来源:代码库结构分析, 1-Introduction/1-intro-to-ML/translations/README.fr.md

评估系统

代码库包含一个集成评估系统

来源:代码库结构分析

测验应用程序允许学习者在每节课之前和之后测试他们的知识,并提供关于理解的即时反馈。