完整的机器学习套件
🏅 被评为 GitHub 上顶级数据科学库之一!
技术、工具、最佳实践以及你学习机器学习所需的一切!
完整的机器学习套件 是一个综合性的库,包含35个关于Python编程、数据处理、数据分析、数据可视化、数据清理、传统机器学习、计算机视觉和自然语言处理(NLP)的笔记本。
所有笔记本都以读者为中心。每个笔记本都以任何特定算法/概念的高级概述开始。在可能的情况下,使用可视化来使内容更加清晰。
新增内容 🔥
-
2023年5月10日:添加了一个全面的MLOps指南。请随意享受这份指南 !!
-
2022年6月23日:许多人询问如何支持这个包。你可以给我们买一杯咖啡 ☕️
-
2022年5月18日:完整的机器学习套件现已在网络上可用。现在查看所有笔记本变得更加容易了!
-
2022年4月9日:新增了利用预训练卷积神经网络进行迁移学习的附加内容和更多资源。
-
2021年11月25日:更新了机器学习基础:增加了介绍笔记、ML系统设计工作流和学习系统的挑战。
工具概览
以下是完整的机器学习套件中涵盖的工具。它们是大多数机器学习工程师和数据科学家日常需要使用的流行工具。
-
Python 是一种高级编程语言,在数据社区中非常流行,随着库和框架的快速增长,这是进行机器学习的正确编程语言。
-
NumPy 是一个用于数组或矩阵操作的科学计算工具。
-
Pandas 是一个很棒且简单的工具,用于从各种不同来源分析和处理数据。
-
Matplotlib 是一个综合的数据可视化工具,用于在Python中创建静态、动态和交互式可视化。
-
Seaborn 是另一个基于Matplotlib构建的数据可视化工具,非常简单易用。
-
Scikit-Learn:Scikit-Learn使得在几行代码中使用经典模型变得轻而易举,不需要从头开始构建机器学习模型。这个工具几乎被整个ML社区和行业所采用,从初创公司到大科技公司。
-
TensorFlow 和 Keras 用于深度学习:TensorFlow是一个流行的深度学习框架,用于构建适用于不同领域的模型,如计算机视觉和自然语言处理。Keras是一个高级神经网络API,使设计深度学习模型变得简单。TensorFlow和Keras有一个很棒的社区和生态系统,包括TensrBoard、TF Datasets、TensorFlow Lite、TensorFlow Extended、TensorFlow Hub、TensorFlow.js、TensorFlow GNN及更多 工具
完整大纲
第一部分 - Python入门与数据处理
0 - 机器学习的Python入门
1 - 使用NumPy进行数据计算
- 创建NumPy数组
- 数据选择:索引和切片数组
- 执行数学和其他基本操作
- 执行基本统计
- 数据操纵
[你可以在这里找到关于NumPy的详细笔记]
2 - 使用Pandas进行数据操纵
- Pandas基础
- 系列和数据框
- 数据索引和选择
- 处理缺失数据
- 基本操作和函数
- 聚合方法
- 分组(Groupby)
- 合并、连接和拼接
- 超越数据框:处理CSV和Excel
- 真实世界的探索性数据分析 (EDA)
3 - 数据可视化
4 - 真实世界的数据探索分析和数据准备
第二部分 - 机器学习
5 - 机器学习基础
- 什么是机器学习?
- 人工智能、数据科学、机器学习和深度学习之间的区别
- 机器学习与普通编程之间的区别
- 机器学习的应用
- 什么时候使用以及不使用机器学习
- 机器学习的类型
- 一个典型的机器学习项目工作流
- 评估指标
- 机器学习系统的挑战
6 - 使用Scikit-Learn进行经典机器学习
第三部分 - 深度学习
7 - 人工神经网络和TensorFlow入门
-
- 为什么深度学习
- 单层神经网络
- 激活函数
- 深度学习架构的类型
- 密集连接网络
- 卷积神经网络
- 循环神经网络
- Transformers
- 深度神经网络训练中的挑战
-
- 什么是TensorFlow?
- TensorFlow模型API
- 快速了解TensorFlow生态系统
- 张量基础知识
8 - 使用TensorFlow进行深度计算机视觉
-
- 计算机视觉和CNN介绍
- 什么是卷积神经网络?
- 卷积神经网络的典型架构
- 编写ConvNets:图像分类
- 计算机视觉和CNN介绍
-
- 引言 - 真实世界的数据集和数据增强
- 入门:真实世界的数据集和过拟合
- 使用Keras图像增强层进行图像增强
-
- 迁移学习的动机
- 迁移学习介绍
- 迁移学习的典型流程
- 使用预训练模型进行快速图像分类
- 实践中的迁移学习和微调
- 使用TensorFlow Hub进行快速图像分类和迁移学习
[迁移学习的更新笔记本在这里]
9 - 使用TensorFlow进行自然语言处理
-
- 自然语言处理介绍
- 使用TensorFlow进行文本处理
- 使用TextVectorization层
-
- 词嵌入介绍
- 实践中的嵌入
- 使用预训练的嵌入
-
- 循环神经网络介绍
- 实践中的简单RNN:电影情感分析
- 长短期记忆网络介绍
- 实践中的LSTMs:新闻分类
-
- 文本卷积神经网络介绍
- 实践中的文本CNN:新闻分类
- 结合卷积网络和循环神经网络
-
- BERT介绍
- 实践:微调预训练的BERT
使用的数据集
用于本库的许多数据集来自以下来源:
进一步的机器学习资源
机器学习社区非常活跃。完整的机器学习套件可以让你入门,但这还不够。幸运的是,有许多精彩的学习资源,有些是收费的,有些是免费提供的。这里列出了一些经常被许多人推荐的课程。请注意,它们的顺序并不是你需要学习的顺序。
课程
-
Coursera 的机器学习:这门课程由Andrew Ng教授教授。它是最受欢迎的机器学习课程之一,已经有超过400万人学习。该课程主要关注机器学习技术和算法的基础知识。在Coursera免费提供。
-
深度学习专业化:同样由Andrew Ng教授教授,深度学习专业化也是一门基础课程。它教授卷积神经网络和循环神经网络等主要深度学习架构的基础知识。完整课程可以在Coursera上审查,或在Youtube上免费观看。
-
MIT深度学习简介:这门课程在合理的时间内提供深度学习的基础知识。每个讲座都有1小时或更少的时间,但材料仍然是一流的。查看课程页面这里,以及讲座视频这里。
-
麻省理工学院 数据中心AI导论: 这是首次开设的DCAI课程。该课程涵盖了检测和修复机器学习数据中常见问题的算法,以及构建更好的数据集,主要集中在监督学习任务如分类中使用的数据。课程中教授的所有材料都非常实用,专注于现实世界机器学习应用中的关键方面,而不是具体模型如何工作的数学细节。你可以通过这门课程学习到大多数机器学习课程未涵盖的实用技术,帮助缓解许多现实世界机器学习应用中常见的“垃圾进,垃圾出”问题。查看课程页面这里,讲座视频这里,实验作业这里。
-
纽约大学 深度学习 2021年春季: 由Yann LeCun和Alfredo Canziani在纽约大学教授,这是最有创意的课程之一。材料展示方式令人惊叹。查看讲座视频这里,课程库这里。
-
斯坦福大学 CS231N:用于视觉识别的卷积神经网络: CS231N是最好的深度学习和计算机视觉课程之一。2017年版由Fei-Fei Li、Justin Johnson和Serena Yeung教授。2016年版这里由Fei-Fei Li、Justin Johnson和Andrej Karpathy教授。查看2017年的讲座视频这里,以及其他材料这里。
-
斯坦福大学 CS224N:使用深度学习的自然语言处理: 如果你对自然语言处理感兴趣,这是一个很棒的课程。由世界级的NLP明星Christopher Manning教授。查看讲座视频这里。
-
fast.ai 实用深度学习课程: 这也是一个涵盖整个深度学习架构和技术的密集课程。讲座视频这里 以及其他资源如笔记本,可以在课程页面这里找到。
-
机器学习生产工程(MLOps)专精: 由Andrew Ng、Laurence Moroney和Robert Crowe教授,这是最好的机器学习工程课程之一。它教授如何设计端到端的机器学习生产系统,建立高效的数据和建模管道,并在生产中部署模型。你可以在Coursera上找到这门课程这里,以及其他课程材料在Github上找到。
-
全栈深度学习: 大多数机器学习课程都集中在建模上,而这门课程则专注于机器学习系统的发布。它教授如何设计机器学习项目、数据管理(存储、访问、处理、版本控制和标签)、训练、调试和部署机器学习模型。查看2021年版这里 和2019年版这里。你还可以浏览项目展示以了解学员项目的课程成果。
书籍
以下是一些很棒的机器学习书籍。
-
百页机器学习书: 由Andriy Burkov撰写,这是你在网络上找到的最短但最简洁和写得最好的书籍之一。你可以免费阅读这里。
-
机器学习工程: 也是由Andriy Burkov撰写的,这是另一本很棒的机器学习书籍,揭示了机器学习工作流的每一步,从数据收集、准备到模型服务和维护。该书也可以免费阅读这里。
-
机器学习渴望: 由Andrew Ng撰写,这本书包含了构建有效学习系统的各种策略。书本被分成小部分,阅读起来很容易,不仅仅是机器学习工程师,任何与数据科学和机器学习团队合作的人都能从中受益。官方书籍这里免费提供,但你可以在这里阅读或下载而无需注册。
-
使用Scikit-Learn、Keras和TensorFlow进行实用机器学习: 由Aurelion Geron撰写,这是最好的机器学习书籍之一。它写得非常清晰,充满了想法和最佳实践。你可以在这里获取这本书,或者查看其库这里。
-
深度学习: 由三位深度学习传奇人物Ian Goodfellow、Yoshua Bengio和Aaron Courville撰写,这是一本非常棒的深度学习书籍,可以免费获取。这里。
-
Python深度学习: 由Francois Chollet撰写,这位Keras的设计师,这本书非常全面。你可以在这里获取这本书,以及书本库这里。
-
深入浅出深度学习: 这也是一本非常棒的深度学习书籍,可以免费获取。这本书使用了PyTorch和TensorFlow。你可以在这里阅读整本书。
-
神经网络和深度学习: 这是Michael Nielsen的另一本很棒的深度学习在线书籍。你可以在这里阅读整本书。
如果你对更多的机器学习和深度学习资源感兴趣,你可以在这里、这里 和这里找到它们。
完整机器学习包引用
@article{Nyandwi2021MLPackage,
title = "完整机器学习包",
author = "Nyandwi, Jean de Dieu",
journal = "GitHub",
year = "2021",
url = "https://nyandwi.com/machine_learning_complete",
}
这个存储库是由Jean de Dieu Nyandwi创建的。你可以在Twitter,LinkedIn,Medium,以及Instagram找到他。