http://scikit-learn.org/stable/auto_examples/datasets/plot_digits_last_image.html
這個範例目的是介紹機器學習範例資料集的操作,對於初學者以及授課特別適合使用。
In [5]:
#這行是在ipython notebook的介面裏專用,如果在其他介面則可以拿掉
%matplotlib inline
from sklearn import datasets
import matplotlib.pyplot as plt
#載入數字資料集
digits = datasets.load_digits()
#畫出第一個圖片
plt.figure(1, figsize=(3, 3))
plt.imshow(digits.images[-1], cmap=plt.cm.gray_r, interpolation='nearest')
plt.show()
In [7]:
for key,value in digits.items() :
try:
print (key,value.shape)
except:
print (key)
顯示 | 說明 |
---|---|
('images', (1797L, 8L, 8L)) | 共有 1797 張影像,影像大小為 8x8 |
('data', (1797L, 64L)) | data 則是將8x8的矩陣攤平成64個元素之一維向量 |
('target_names', (10L,)) | 說明10種分類之對應 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
DESCR | 資料之描述 |
('target', (1797L,)) | 記錄1797張影像各自代表那一個數字 |
接下來我們試著以下面指令來觀察資料檔,每張影像所對照的實際數字存在digits.target
變數中
In [8]:
images_and_labels = list(zip(digits.images, digits.target))
for index, (image, label) in enumerate(images_and_labels[:4]):
plt.subplot(2, 4, index + 1)
plt.axis('off')
plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest')
plt.title('Training: %i' % label)
In [10]:
#接著我們嘗試將這個機器學習資料之描述檔顯示出來
print(digits['DESCR'])
這個描述檔說明了這個資料集是在 1998年時建立的,由E. Alpaydin, C. Kaynak ,Department of Computer Engineering
Bogazici University, Istanbul Turkey
建立的。數字的筆跡總共來自43個人,一開始取像時為32x32的點陣影像,之後經運算處理形成 8x8影像,其中灰階記錄的範圍則為 0~16的整數。
In [ ]: