load_digits#

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

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

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

类别

10

每个类别的样本数

~180

样本总数

1797

维度

64

特征

整数 0-16

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

更多信息请参阅用户指南

参数:
n_classint,默认值=10

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

return_X_ybool,默认值=False

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

自 0.18 版本新增。

as_framebool,默认值=False

如果为 True,则数据为 pandas DataFrame,包括具有适当 dtypes(数值)的列。目标是 pandas DataFrame 或 Series,具体取决于目标列的数量。如果 return_X_y 为 True,则 (data, target) 将是如下所述的 pandas DataFrame 或 Series。

自 0.23 版本新增。

返回:
dataBunch

字典状对象,具有以下属性。

data{ndarray, dataframe},形状 (1797, 64)

扁平化数据矩阵。如果 as_frame=True,则 data 将是一个 pandas DataFrame。

target: {ndarray, Series},形状 (1797,)

分类目标。如果 as_frame=True,则 target 将是一个 pandas Series。

feature_names: list

数据集列的名称。

target_names: list

目标类别的名称。

自 0.20 版本新增。

frame: DataFrame,形状 (1797, 65)

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

自 0.23 版本新增。

images: {ndarray},形状 (1797, 8, 8)

原始图像数据。

DESCR: str

数据集的完整描述。

(data, target)如果 return_X_y 为 True 则为元组

默认情况下,包含两个 ndarray 的元组。第一个包含一个形状为 (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