اختزل باستخدام PCA
جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 44 من 51.
64 بكسلًا أكثر مما تحتاج إليه الأرقام. يمكن لـ PCA استهداف نسبة من التباين بدلًا من عدد المكوّنات:
يحتفظ n_components=0.9 بأقل عدد من المكوّنات التي تفسّر 90%:
pca = PCA(n_components=0.9)
X_small = pca.fit_transform(X)
print(pca.n_components_, X_small.shape)يعرض هذا 21 (1797, 21): ثلث الأرقام، ومعظم الصورة.
لا توجد أداة تحجيم هنا: تشترك كل بكسلة في وحدة واحدة، وتتراوح كثافة الحبر من 0 إلى 16. سيؤدي التحجيم إلى تضخيم بكسلات الحواف شبه الفارغة وتحويلها إلى سمات كاملة.
التحدي
متوسطحان وقت تقليص الصور الممسوحة ضوئيًا. يقرأ البرنامج نسبة التباين المراد الاحتفاظ بها، مثل 0.8.
- اطبع عدد المكونات التي تحتاج إليها PCA لهذه النسبة في وحدات البكسل الخام، ثم في وحدات البكسل المحجّمة.
- احتفظ بالنسخة التي تحتاج إلى عدد أقل: اطبع اسمها وشكل بياناتها المختزلة.
لـ 0.6:
Raw pixels: 7 components
Scaled pixels: 11 components
Keep: raw pixels, shape (1797, 7)من الآن فصاعدًا، يحتفظ المشروع بنسبة 80% من التباين.
جرّب بنفسك
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
# من Look at the Digits: 1,797 صورة ممسوحة ضوئيًا، تتكوّن كل منها من 64 بكسل، وتتراوح قيمة الحبر من 0 إلى 16
digits = load_digits()
X = digits.data
y = digits.target
# نسبة التباين المطلوب الاحتفاظ بها، مثل 0.8
share = float(input())
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم غير الخاضع للإشراف
1اكتشاف المجموعات
التعلّم دون تسمياتقياس التشابهتنفيذ K-Means يدويًااستخدام K-Means في scikit-learnمراجعة: أعضاء النادي الرياضي7تحليل PCA عمليًا
رؤية 64 بُعدًاالمكوّنات بوصفها أنماطًاالضغط وإعادة البناءPCA قبل تدريب النموذجمراجعة: ماسح الوجوه10مشروع: مستكشف الأرقام
ألقِ نظرة على الأرقاماختزل باستخدام PCAجمّع الأرقامأطلق أسماء على المجموعاتاعثر على العناصر الشاذةتدرّب بنفسك: مترجم Python عبر الإنترنت