PCA ไม่ได้เรียนรู้ส่วนประกอบย่อย
ต่างจาก NMF ตรงที่ PCA ไม่ได้ เรียนรู้ส่วนประกอบย่อยของสิ่งต่าง ๆ component ของ PCA ไม่ได้สอดคล้องกับหัวข้อ (ในกรณีของเอกสาร) หรือส่วนประกอบของภาพ แม้จะฝึกกับข้อมูลภาพก็ตาม ลองตรวจสอบด้วยตัวเองโดยดู component ของโมเดล PCA ที่ fit กับชุดข้อมูลภาพตัวเลข LED จากแบบฝึกหัดก่อนหน้า ภาพต่าง ๆ พร้อมใช้งานในรูปแบบ array 2 มิติชื่อ samples นอกจากนี้ยังมีฟังก์ชัน show_as_image() เวอร์ชันที่ดัดแปลงแล้ว ซึ่งจะแสดงพิกเซลเป็นสีแดงหากค่าเป็นลบ
หลังจากส่งคำตอบแล้ว สังเกตว่า component ของ PCA ไม่ได้แทนส่วนประกอบที่มีความหมายของภาพตัวเลข LED เลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Unsupervised Learning ใน Python
คำแนะนำการฝึกหัด
- Import
PCAจากsklearn.decomposition - สร้าง instance ของ
PCAชื่อmodelโดยกำหนดให้มี7components - ใช้เมธอด
.fit_transform()ของmodelกับsamplesแล้วกำหนดผลลัพธ์ให้กับตัวแปรfeatures - สำหรับแต่ละ component ของโมเดล (เข้าถึงผ่าน
model.components_) ให้เรียกใช้ฟังก์ชันshow_as_image()กับ component นั้นภายใน loop
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import PCA
____
# Create a PCA instance: model
model = ____
# Apply fit_transform to samples: features
features = ____
# Call show_as_image on each component
for component in ____:
____