load_digits#

sklearn.datasets.load_digits(*, n_class=10, return_X_y=False, as_frame=False)[source]#

加载并返回数字数据集(分类)。

每个数据点都是一个 8x8 的数字图像。

类别数

10

每类的样本数

~180

样本总数

1797

维度

64

特征值范围

整数 0-16

这是 UCI ML 手写数字数据集的测试集副本 https://archive.ics.uci.edu/ml/datasets/Optical+Recognition+of+Handwritten+Digits

用户指南中阅读更多内容。

参数:
n_classint, default=10

要返回的类别数。介于 0 和 10 之间。

return_X_ybool, default=False

如果为 True,则返回 (data, target) 而不是 Bunch 对象。有关 datatarget 对象的更多信息,请参阅下文。

版本 0.18 新增。

as_framebool, default=False

如果为 True,则数据是包含具有相应 dtypes(数字)的列的 pandas DataFrame。目标是 pandas DataFrame 或 Series,具体取决于目标列数。如果 return_X_y 为 True,则 (data, target) 将是如下所述的 pandas DataFrames 或 Series。

0.23 版本新增。

返回:
dataBunch

Dictionary-like object, with the following attributes.

data{ndarray, dataframe} of shape (1797, 64)

展平的数据矩阵。如果 as_frame=Truedata 将是一个 pandas DataFrame。

target: {ndarray, Series} of shape (1797,)

分类目标。如果 as_frame=Truetarget 将是一个 pandas Series。

feature_names: list

数据集列的名称。

target_names: list

The names of target classes.

0.20 版本新增。

frame: DataFrame of shape (1797, 65)

仅当 as_frame=True 时存在。包含 datatarget 的 DataFrame。

0.23 版本新增。

images: {ndarray} of shape (1797, 8, 8)

原始图像数据。

DESCR: str

The full description of the dataset.

(data, target)tuple if return_X_y is True

默认情况下是两个 ndarrays 的元组。第一个包含一个形状为 (1797, 64) 的 2D ndarray,其中每行代表一个样本,每列代表特征。第二个形状为 (1797) 的 ndarray 包含目标样本。如果 as_frame=True,则两个数组都是 pandas 对象,即 X 是一个 dataframe,y 是一个 series。

版本 0.18 新增。

示例

加载数据并可视化图像

>>> from sklearn.datasets import load_digits
>>> digits = load_digits()
>>> print(digits.data.shape)
(1797, 64)
>>> import matplotlib.pyplot as plt
>>> plt.matshow(digits.images[0], cmap="gray")
<...>
>>> plt.show()
../../_images/sklearn-datasets-load_digits-1.png