digits
是一个手写数字的数据集,我们可以使用Python的数据可视化库,比如matplotlib,来查看这些手写数字图像。
示例
显示digits.images
中的手写数字图像。
from sklearn import datasets # 加载 `digits` 数据集 digits = datasets.load_digits() # 导入 matplotlib import matplotlib.pyplot as plt # 设置图形大小(宽、高)以英寸为单位 fig = plt.figure(figsize=(6, 6)) # 设置子图形布局,如间隔之类... fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.05, wspace=0.05) # 对于64幅图像中的每一幅 for i in range(64): # 初始化子图:在8×8的网格中,在第i+1个位置添加一个子图 ax = fig.add_subplot(8, 8, i + 1, xticks=[], yticks=[]) # 在第i个位置显示图像 ax.imshow(digits.images[i], cmap=plt.cm.binary, interpolation='nearest') # 用目标值标记图像 ax.text(0, 7, str(digits.target[i])) # 显示图形 plt.show()
输出
我们也可以使用digits.target
中的目标值标记digits.images
图像格式的样本数据,并显示。
示例
显示digits.images
中的前8个手写数字图像,并用对应的目标值标记图像。
from sklearn import datasets # 加载 `digits` 数据集 digits = datasets.load_digits() # 导入 matplotlib import matplotlib.pyplot as plt # 把图像和目标标签组合成一个列表 images_and_labels = list(zip(digits.images, digits.target)) # 对于列表(前8项)中的每个元素 for index, (image, label) in enumerate(images_and_labels[:8]): # 在第i+1个位置初始化一个2X4的子图 plt.subplot(2, 4, index + 1) # 不要画坐标轴 plt.axis('off') # 在所有子图中显示图像 plt.imshow(image, cmap=plt.cm.gray_r,interpolation='nearest') # 为每个子图添加一个标题(目标标签) plt.title('Training: ' + str(label)) # 显示图形 plt.show()
显示: