在前面的文章中,我们曾提到最为常见的
监督学习任务
是回归
(预测价值)和分类
(预测类别)。我们使用线性回归
、决策树
和随机森林
等各种算法探讨了回归任务
,即预测房屋价值。现在,我们将把注意力转向分类系统
。
MNIST数据集
我们将使用 MNIST 数据集
,这是一组由人类手写的 70,000 张小数字图像。每张图片都标注了所代表的数字。人们对这个数据集的研究非常深入,以至于它经常被称为机器学习的 “hello world”:每当人们提出一种新的分类算法
时,他们都会好奇地想看看这种算法在 MNIST
上的表现如何,而且任何学习机器学习
的人迟早都会用到这个数据集
。
Scikit-Learn
提供了许多下载流行数据集
的辅助函数。MNIST
就是其中之一。以下代码从 OpenML.org
获取 MNIST
数据集:
from sklearn.datasets import fetch_openml
mnist = fetch_openml('mnist_784', as_frame=False)
sklearn.datasets
包主要包含三种类型的函数:fetch_* 函数
(如 fetch_openml()
)用于下载现实生活中的数据集;load_* 函数
用于加载 Scikit-Learn
捆绑的小型玩具数据集
(因此无需通过互联网下载);make_* 函数
用于生成假数据集,对测试非常有用。生成的数据集通常以 (X, y) 元组的形式返回,其中包含输入数据和目标数据,两者都是NumPy
数组。其他数据集以 sklearn.utils.Bunch
对象的形式返回