scikit-learn 机器学习简介
本视频系列将教您如何使用 Python 流行的 scikit-learn 库解决机器学习问题。有10个视频教程,总计4.5小时,每个视频教程都有相应的Jupyter笔记本。
您可以在 YouTube 上观看整个系列,并使用 nbviewer 查看所有笔记本。
该系列还提供免费在线课程,其中包括更新内容、测验和结业证书。
注意:此存储库中的笔记本已更新为使用 Python 3.9.1 和 scikit-learn 0.23.2。原始笔记本(视频中所示)使用 Python 2.7 和 scikit-learn 0.16,可以从存档分支下载。您可以在这篇博文中了解我如何更新代码。
目录
什么是机器学习,它是如何工作的? (视频、笔记本)
- 什么是机器学习?
- 机器学习的两个主要类别是什么?
- 机器学习有哪些例子?
- 机器学习如何“工作”?
设置 Python 进行机器学习:scikit-learn 和 Jupyter Notebook(视频、笔记本)
- scikit-learn 的优点和缺点是什么?
- 如何安装 scikit-learn?
- 如何使用 Jupyter 笔记本?
- 有哪些学习Python的好资源?
使用著名的 iris 数据集开始 scikit-learn(视频、笔记本)
- 著名的鸢尾花数据集是什么?它与机器学习有何关系?
- 我们如何将 iris 数据集加载到 scikit-learn 中?
- 我们如何使用机器学习术语来描述数据集?
- scikit-learn 处理数据的四个关键要求是什么?
使用 scikit-learn 训练机器学习模型(视频、笔记本)
- 什么是K近邻分类模型?
- scikit-learn 中模型训练和预测的四个步骤是什么?
- 如何将此模式应用于其他机器学习模型?
比较 scikit-learn 中的机器学习模型(视频、笔记本)
- 如何选择用于监督学习任务的模型?
- 如何为该模型选择最佳调整参数?
- 如何估计模型在样本外数据上的可能性能?
数据科学管道:pandas、seaborn、scikit-learn(视频、笔记本)
- 如何使用 pandas 库将数据读取到 Python 中?
- 如何使用seaborn库来可视化数据?
- 什么是线性回归,它是如何工作的?
- 如何在 scikit-learn 中训练和解释线性回归模型?
- 回归问题的评估指标有哪些?
- 如何选择要包含在模型中的特征?
参数调整、模型选择和特征选择的交叉验证(视频、笔记本)
- 使用训练/测试分割程序进行模型评估有什么缺点?
- K折交叉验证如何克服这个限制?
- 如何使用交叉验证来选择调整参数、在模型之间进行选择以及选择特征?
- 交叉验证有哪些可能的改进?
有效搜索最佳调整参数(视频、笔记本)
- 如何使用 K 折交叉验证来搜索最佳调整参数?
- 如何使这个过程更加高效?
- 如何一次搜索多个调整参数?
- 在进行真正的预测之前,您如何处理这些调整参数?
- 如何减少这个过程的计算开销?
评估分类模型(视频、笔记本)
- 模型评估的目的是什么?常见的评估程序有哪些?
- 分类准确率有什么用,它有什么局限性?
- 混淆矩阵如何描述分类器的性能?
- 可以从混淆矩阵计算哪些指标?
- 如何通过改变分类阈值来调整分类器性能?
- ROC 曲线的目的是什么?
- 曲线下面积 (AUC) 与分类准确率有何不同?
构建机器学习工作流程(视频、笔记本)
- 为什么应该使用管道?
- 如何使用 OneHotEncoder 对分类特征进行编码?
- 如何使用 ColumnTransformer 将 OneHotEncoder 应用到选定的列?
- 如何构建和交叉验证管道?
- 如何使用管道对新数据进行预测?
- 为什么应该使用 scikit-learn (而不是 pandas)进行预处理?
附赠视频
在 PyCon 2016 会议上,我教授了一个时长 3 小时的教程,该教程基于该视频系列,重点关注基于文本的数据。您可以在 YouTube 上观看教程视频。
以下是我涵盖的主题:
- 在 scikit-learn 中构建模型(复习)
- 将文本表示为数字数据
- 将基于文本的数据集读入 pandas
- 向量化我们的数据集
- 构建和评估模型
- 型号比较
- 检查模型以获得进一步的见解
- 在另一个数据集上练习此工作流程
- 调整矢量化器(讨论)
访问此 GitHub 存储库以访问教程笔记本和许多其他推荐资源。