第8章 机器学习工具包Scikit-learn
谈到Python在机器学习领域的应用,程序员们一定会想起Scikit-learn模块,以及Tensorflow、Keras、PyTorch等深度学习框架,但谁也不会否认这样一个事实:Scikit-learn是非常基础和友好的机器学习模块。Scikit-learn是基于NumPy和SciPy的众多开源项目中的一个,由数据科学家David Cournapeau在2007年发起,需要NumPy和SciPy等其他模块的支持,是Python中专门针对机器学习应用而发展起来的一个模块。
相比其他机器学习项目,Scikit-learn显得有些“低调”。这是因为Scikit-learn的研究领域完全不涉及深度学习领域,并且Scikit-learn只提供经典的、经过广泛验证的算法。我个人非常喜欢Scikit-learn,不仅是因为它的低调和内涵,更重要的原因是它很贴心地为学习者提供了大量的数据、丰富的参考样例和详细的说明文档。
8.1 Scikit-learn概览
Scikit-learn的基本功能可以分为6大部分:分类、回归、聚类、数据降维、模型选择和数据预处理。本章并不会逐一讲解Scikit-learn的全部算法和功能,而是通过一些经典模型的应用演示Scikit-learn的学习和使用方法,从而帮助初学者快速上手机器学习。
8.1.1 Scikit-learn的子模块
Scikit-learn提供了很多子模块,大致可以分为两类:一类是和机器学习的算法模型相关的子模块,另一类是数据预处理和模型评估相关的子模块。因为这个分类并不严格,所以下面列出的子模块并没有遵循这个分类。
- linear_model:线性模型子模块,