A comprehensive machine learning repository containing 30+ notebooks on different concepts, algorithms and techniques.
完整机器学习套件
🏅 Ranked as one of the top data science repositories on GitHub!
技术、工具、最佳实践,以及你学习机器学习所需的一切!

Complete Machine Learning Package 是一个全面的资源库,包含 35 个关于 Python 编程、数据处理、数据分析、数据可视化、数据清洗、经典机器学习、计算机视觉和自然语言处理(NLP)的笔记本。
所有笔记本的创建都充分考虑了读者。每个笔记本都从所涵盖的特定算法/概念的高级概述开始。只要有可能,就会使用可视化来使内容更清晰。
新增内容 🔥
-
2023 年 5 月 10 日:新增了一份 MLOps 综合指南。希望您喜欢这份指南!
-
2022 年 6 月 23 日:很多人询问如何支持这个项目。您可以请我们喝杯 咖啡 ☕️
-
2022 年 5 月 18 日:Complete Machine Learning Package 现已在 网页端 上线。现在可以更轻松地查看所有笔记本了!
-
2022 年 4 月 9 日:更新了 使用预训练卷积神经网络的迁移学习,增加了额外内容并补充了更多资源。
-
2021 年 11 月 25 日:更新了 机器学习基础:增加了入门笔记、机器学习系统设计工作流程以及学习系统面临的挑战。
工具概述
以下是完整机器学习包中涵盖的工具。这些都是大多数机器学习工程师和数据科学家在日常工作中或多或少需要用到的热门工具。
-
Python 是一种高级编程语言,在数据社区中广受欢迎。随着各类库和框架的快速发展,它已成为进行机器学习的理想编程语言。
-
NumPy 是一个科学计算工具,用于数组或矩阵运算。
-
Pandas 是一款出色且简洁的工具,用于分析和处理来自各种不同来源的数据。
-
Matplotlib 是一个全面的数据可视化工具,用于在 Python 中创建静态、动态和交互式可视化图表。
-
Seaborn 是另一个基于 Matplotlib 构建的数据可视化工具,使用起来非常简单。
-
Scikit-Learn:无需从零开始构建机器学习模型,Scikit-Learn 能够让你通过几行代码轻松使用经典模型。从初创公司到大型科技企业,几乎整个机器学习社区和行业都在使用这个工具。
-
TensorFlow 和 Keras 用于深度学习:TensorFlow 是一个流行的深度学习框架,用于构建适用于计算机视觉、自然语言处理等不同领域的模型。Keras 是一个高级神经网络 API,能让深度学习模型的设计变得简单。TensorFlow 和 Keras 拥有强大的社区和生态系统,其中包括 TensorBoard、TF Datasets、TensorFlow Lite、TensorFlow Extended、TensorFlow Hub、TensorFlow.js、TensorFlow GNN 等工具,以及更多资源和工具。
完整大纲
第一部分 - Python 入门与数据处理
0 - 机器学习 Python 入门
1 - 使用 NumPy 进行数据计算
- 创建 NumPy 数组
- 数据选择:数组的索引与切片
- 执行数学运算及其他基本操作
- 进行基本统计分析
- 数据处理
[你可以在 此处 找到有关 NumPy 的详细笔记]
2 - 使用 Pandas 进行数据处理
- Pandas 基础
- Series 与 DataFrame
- 数据索引与选择
- 缺失值处理
- 基本操作与函数
- 聚合方法
- 分组(Groupby)
- 合并、连接与拼接
- 超越 DataFrame:处理 CSV 和 Excel 文件
- 真实世界探索性数据分析(EDA)
3 - 数据可视化
4 - 真实世界数据探索性分析与数据准备
第二部分 - 机器学习
5 - 机器学习基础
- 什么是机器学习?
- 人工智能、数据科学、机器学习与深度学习之间的区别
- 机器学习与普通编程的区别
- 机器学习的应用
- 何时使用以及何时不使用机器学习
- 机器学习的类型
- 典型的机器学习项目工作流程
- 评估指标
- 机器学习系统面临的挑战
6 - 使用 Scikit-Learn 的经典机器学习
第三部分 - 深度学习
7 - 人工神经网络与 TensorFlow 入门
-
-
深度学习的优势
-
单层神经网络
-
激活函数
-
深度学习架构类型
- 全连接网络
- 卷积神经网络
- 循环神经网络
- Transformer
-
深度神经网络训练中的挑战
-
-
- 什么是 TensorFlow?
- TensorFlow 模型 API
- TensorFlow 生态系统快速概览
- 张量基础
8 - 使用 TensorFlow 进行深度计算机视觉
-
- 计算机视觉与 CNN 简介
- 什么是卷积神经网络?
- 卷积神经网络的典型架构
- 卷积神经网络编程:图像分类
- 计算机视觉与 CNN 简介
-
- 简介 - 真实世界数据集与数据增强
- 入门:真实世界数据集与过拟合
- 使用 Keras 图像增强层进行图像增强
-
- 迁移学习的动机
- 迁移学习简介
- 迁移学习的典型流程
- 使用预训练模型进行快速图像分类
- 迁移学习与微调实践
- 使用 TensorFlow Hub 进行快速图像分类与迁移学习
[迁移学习的更新笔记本可在此处找到 链接]
9 - 使用 TensorFlow 进行自然语言处理
-
- 自然语言处理简介
- 使用 TensorFlow 进行文本处理
- TextVectorization 层的使用
-
- 词嵌入简介
- 词嵌入实践应用
- 使用预训练嵌入
-
- 循环神经网络简介
- 简单 RNN 实践:电影情感分析
- 长短期记忆网络简介
- LSTM 实践:新闻分类
-
- 文本卷积神经网络简介
- 文本 CNN 实践:新闻分类
- 卷积网络与循环网络的结合
-
- BERT 简介
- 实践:预训练 BERT 的微调
使用的数据集
本仓库中使用的许多数据集来自以下来源:
更多机器学习资源
机器学习社区非常活跃。完整的机器学习套件可以帮助你入门,但这还远远不够。幸运的是,有许多出色的学习资源,其中一些是付费的,也有一些是免费提供的。以下是许多人常推荐的课程列表。请注意,这些课程没有按学习顺序排列。
课程
-
Coursera 机器学习课程:本课程由 Andrew Ng 讲授,是最受欢迎的机器学习课程之一,已有超过 400 万人学习。该课程重点介绍机器学习技术和算法的基础知识,可在 Coursera 免费学习。
-
深度学习专项课程:同样由 Andrew Ng 讲授,深度学习专项课程也是一门基础课程。它系统讲解了主要深度学习架构的基础知识,如卷积神经网络和循环神经网络。完整课程可在 Coursera 旁听,或在 Youtube 免费观看。
-
麻省理工学院深度学习导论:该课程能在较短时间内为你打下深度学习的基础。每节课时长不超过一小时,但内容质量仍属一流。课程页面请见 此处, lecture videos 请见 此处。
-
麻省理工学院数据中心人工智能导论:这是有史以来第一门关于 DCAI 的课程。本课程涵盖了发现和修复机器学习数据中常见问题以及构建更好数据集的算法,重点关注用于监督学习任务(如分类)的数据。课程内容极具实用性,聚焦于实际机器学习应用中有影响力的方面,而非特定模型工作原理的数学细节。通过本课程,你将学习大多数机器学习课程未涵盖的实用技术,有助于缓解许多实际机器学习应用中存在的“垃圾进,垃圾出”问题。课程页面请见 此处, lecture videos 请见 此处,实验作业请见 此处。
-
纽约大学 2021 年春季深度学习课程:由 Yann LeCun 和 Alfredo Canziani 在纽约大学讲授,是目前最具创新性的课程之一,课程内容的呈现方式非常出色。 lecture videos 请见 此处,课程代码库请见 此处。
-
斯坦福大学 CS231N:用于视觉识别的卷积神经网络:CS231N 是最优秀的深度学习与计算机视觉课程之一。2017 年版本由 Fei-Fei Li、Justin Johnson 和 Serena Yeung 讲授,2016 年版本 由 Fei-Fei、Johnson 和 Andrej Karpathy 讲授。2017 年 lecture videos 请见 此处,其他资料请见 此处。
-
斯坦福大学 CS224N:深度学习与自然语言处理:如果你对自然语言处理感兴趣,这是一门非常值得学习的课程。由世界顶尖 NLP 专家 Christopher Manning 讲授。 lecture videos 请见 此处。
-
fast.ai 实用深度学习课程:这也是一门内容密集的深度学习课程,涵盖了深度学习架构和技术的各个方面。 lecture videos 及其他资源,如 notebooks,均发布在 课程页面。
-
生产环境机器学习工程(MLOps)专项课程:由 Andrew Ng、Laurence Moroney 和 Robert Crowe 讲授,是最优秀的机器学习工程课程之一。它教授如何设计端到端的机器学习生产系统、构建高效的数据和建模流水线,以及在生产环境中部署模型。你可以在 Coursera 找到该课程,其他课程资料可在 Github 获取。
-
全栈深度学习:大多数机器学习课程侧重于建模,而本课程则专注于机器学习系统的实际部署。它教授如何设计机器学习项目、数据管理(存储、访问、处理、版本控制和标注)、模型训练、调试以及部署。2021 年版本请见 此处,2019 年版本请见 此处。你也可以浏览 项目展示,了解学习者通过课程所取得的成果。
书籍
以下是一些非常出色的机器学习书籍。
-
The Hundred-Page Machine Learning Book:由Andriy Burkov撰写,这是你能在互联网上找到的篇幅最短但内容精炼、文笔出色的书籍之一。你可以在此处免费阅读该书。
-
Machine Learning Engineering:同样由Andriy Burkov所著,这是另一本优秀的机器学习书籍,它揭示了机器学习工作流程的每个步骤,从数据收集、准备……到模型部署和维护。该书也可在此处免费获取。
-
Machine Learning Yearning:由Andrew Ng. 撰写,书中包含了构建有效学习系统的各种策略。它被分成多个小部分,使其易于阅读,并且不仅仅针对机器学习工程师。任何与数据科学和机器学习团队合作的人都能从这本书中获益。官方书籍可在此处免费获取,但你也可以在此处无需注册即可阅读或下载。
-
Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow:由Aurelion Geron所著,这是最优秀的机器学习书籍之一。它条理清晰,充满了思想和最佳实践。你可以在此处购买该书,或在此处查看其代码库。
-
Deep Learning:由三位深度学习领域的权威人士Ian Goodfellow、Yoshua Bengio和Aaron Courville共同撰写,这是一本可免费获取的优秀深度学习书籍。你可以在此处获取它。
-
Deep Learning with Python:由Keras的设计者Francois Chollet所著,这是一本非常全面的深度学习书籍。你可以在此处购买该书,并在此处查看书籍代码库。
-
Dive into Deep Learning:这也是一本可免费获取的优秀深度学习书籍。该书同时使用PyTorch和TensorFlow。你可以在此处阅读全书。
-
Neural Networks and Deep Learning:这是另一本由Michael Nielsen撰写的优秀深度学习在线书籍。你可以在此处阅读全书。
如果你对更多机器学习和深度学习资源感兴趣,可以在此处、此处和此处找到它们。
引用完整机器学习包
@article{Nyandwi2021MLPackage,
title = "Complete Machine Learning Package",
author = "Nyandwi, Jean de Dieu",
journal = "GitHub",
year = "2021",
url = "https://nyandwi.com/machine_learning_complete",
}
本仓库由 Jean de Dieu Nyandwi 创建。你可以在 Twitter、LinkedIn、Medium 和 Instagram 上找到他。
项目介绍
Nyandwi/machine_learning_complete 是一个集成了多种机器学习算法的 Python 代码库,旨在服务于对机器学习有研究、对 Python 语言有掌握,并希望运用各类机器学习算法进行开发的技术人员。【此简介由AI生成】