นำเข้า flat files ด้วย NumPy
ในแบบฝึกหัดนี้ จะได้ลองโหลดชุดข้อมูล MNIST digit recognition โดยใช้ฟังก์ชัน loadtxt() ของ NumPy ซึ่งทำได้ง่ายมาก
- อาร์กิวเมนต์แรกคือชื่อไฟล์
- อาร์กิวเมนต์ที่สองคือตัวคั่ง (delimiter) ซึ่งในที่นี้คือเครื่องหมายจุลภาค
ชุดข้อมูล MNIST เป็นคอลเลกชันภาพตัวเลขลายมือตั้งแต่ 0 ถึง 9 ที่ใช้กันอย่างแพร่หลายในสาขา machine learning โดยเป็น benchmark มาตรฐานสำหรับประเมินประสิทธิภาพของอัลกอริทึมในการจดจำและจำแนกตัวเลขเหล่านี้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การนำเข้าข้อมูล
คำแนะนำการฝึกหัด
- กำหนดอาร์กิวเมนต์ของ
np.loadtxt()โดยส่งfileและเครื่องหมายจุลภาค','เป็น delimiter - กำหนดอาร์กิวเมนต์ของ
print()เพื่อแสดง type ของออบเจกต์digitsโดยใช้ฟังก์ชันtype() - รันโค้ดส่วนที่เหลือเพื่อแสดงภาพข้อมูลหนึ่งแถวจากชุดข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import packages
import numpy as np
# Assign filename to variable: file
file = 'digits.csv'
# Load file as array: digits
digits = np.loadtxt(____, delimiter='____')
# Print datatype of digits
print(____)
# Select and reshape a row
im = digits[21, 1:]
im_sq = np.reshape(im, (28, 28))
# Plot reshaped data (matplotlib.pyplot already loaded as plt)
plt.imshow(im_sq, cmap='Greys', interpolation='nearest')
plt.show()