สำรวจชุดข้อมูลตัวเลข LED
ในแบบฝึกหัดต่อไปนี้ คุณจะใช้ NMF เพื่อแยกภาพระดับสีเทาออกเป็นรูปแบบที่ปรากฏบ่อยในชุดข้อมูล ขั้นแรก ให้สำรวจชุดข้อมูลภาพและดูว่ามีการเข้ารหัสเป็น array อย่างไร คุณได้รับภาพ 100 ภาพในรูปแบบ array 2 มิติชื่อ samples โดยแต่ละแถวแทนภาพขนาด 13x8 หนึ่งภาพ ภาพในชุดข้อมูลนี้เป็นภาพของจอแสดงผลตัวเลขแบบ LED
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- Import
matplotlib.pyplotโดยใช้ชื่อแทนว่าplt - เลือกแถวที่
0ของsamplesแล้วกำหนดผลลัพธ์ให้กับตัวแปรdigitตัวอย่างเช่น หากต้องการเลือกคอลัมน์ที่2ของ arrayaให้ใช้a[:,2]โปรดทราบว่าเนื่องจากsamplesเป็น NumPy array จึงไม่สามารถใช้.loc[]หรือiloc[]ในการเลือกแถวหรือคอลัมน์ได้ - พิมพ์
digitซึ่งได้เตรียมไว้ให้แล้ว สังเกตว่าเป็น array 1 มิติที่ประกอบด้วย 0 และ 1 - ใช้เมธอด
.reshape()ของdigitเพื่อแปลงเป็น array 2 มิติที่มีรูปร่าง(13, 8)แล้วกำหนดผลลัพธ์ให้กับตัวแปรbitmap - พิมพ์
bitmapแล้วสังเกตว่าตำแหน่งที่เป็น 1 แสดงตัวเลข 7! - ใช้ฟังก์ชัน
plt.imshow()เพื่อแสดงbitmapเป็นภาพ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import pyplot
from matplotlib import pyplot as plt
# Select the 0th row: digit
digit = ____
# Print digit
print(digit)
# Reshape digit to a 13x8 array: bitmap
bitmap = ____
# Print bitmap
print(bitmap)
# Use plt.imshow to display bitmap
plt.____(____, cmap='gray', interpolation='nearest')
plt.colorbar()
plt.show()