الضغط وإعادة البناء
جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 31 من 51.
درجات مكوّنات المسح هي وصفة: ابدأ من متوسط المسح، ثم أضف كل نمط مضروبًا في درجته. يتبع inverse_transform الوصفة للعودة إلى 64 بكسلًا:
pca = PCA(n_components=10).fit(X)
codes = pca.transform(X) # 10 أرقام لكل مسح ضوئي
rebuilt = pca.inverse_transform(codes) # 64 بكسل مجددًاإليك ثلاث عمليات مسح أُعيد بناؤها باستخدام أعداد متزايدة من الأرقام:
تُنتج أعداد قليلة صورة ضبابية للرقم المتوسط؛ ويُعيد كل مكوّن يُضاف التفاصيل. وتبدو عشرون عددًا واضحة بالفعل بدلًا من 64.
التحدي
متوسطيرسل قلم ذكي كل رقم على هيئة k من أرقام PCA، يقرأها البرنامج. ما الذي يُفقد؟
- لائم PCA باستخدام
kمكوّنات علىX. اضغط جميع المسحات، ثم أعد بناءها فيrebuilt. - اطبع الأسطر أدناه؛ الخطأ هو متوسط الفرق المطلق عن
X. - ارسم أحدث مسحة،
X[-1]، علىaxs[0]وإعادة بناءها علىaxs[1]، وكلاهما باستخدامgray_r. اعرض النتيجة.
بالنسبة إلى 7:
Sent: 7 numbers per scan instead of 64
Average pixel error: 1.739ويرسم هذا. ثم يصف Coddy لوحاتك:
جرّب بنفسك
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# 1,797 صورة ممسوحة ضوئيًا، كل منها بدقة 64 بكسل؛ أحدث صورة ممسوحة ضوئيًا للقلم هي الصف الأخير
digits = load_digits()
X = digits.data
k = int(input())
# لا تغيّر الأسطر أدناه
fig, axs = plt.subplots(1, 2)
axs[0].set_title("Scan")
axs[1].set_title(f"Rebuilt from {k} numbers")
# اكتب شيفرتك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم غير الخاضع للإشراف
1اكتشاف المجموعات
التعلّم دون تسمياتقياس التشابهتنفيذ K-Means يدويًااستخدام K-Means في scikit-learnمراجعة: أعضاء النادي الرياضي7تحليل PCA عمليًا
رؤية 64 بُعدًاالمكوّنات بوصفها أنماطًاالضغط وإعادة البناءPCA قبل تدريب النموذجمراجعة: ماسح الوجوهتدرّب بنفسك: مترجم Python عبر الإنترنت