Menu
CoddyTech
flag Ar iconالعربيةdown icon

التباين المُفسَّر

جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 27 من 51.

ما مقدار ما احتفظ به مكوّنان؟ يحمل كل مكوّن حصة من التشتت الكلي، وهي نسبة التباين المُفسَّر. لمكوّنات النبيذ الـ13 جميعها:

أعمدة لمكوّنات النبيذ الـ13 تتناقص من 0.36 إلى ما يقارب 0، وخط برتقالي يجمعها، صاعدًا من 0.36 إلى 1. ويتجاوز الخط المتقطع عند 90% في المكوّن 8

تحتفظ PCA() بها كلها عند عدم تحديد n_components. تعطي np.cumsum المجموع التراكمي:

pca = PCA().fit(scaled)
ratio = pca.explained_variance_ratio_
print(ratio[:3].round(3))
total = np.cumsum(ratio)
print((total < 0.9).sum() + 1)

يطبع هذا [0.362 0.192 0.111] و8: لا يزال مجموع القيم أقل من 0.9، بالإضافة إلى القيمة التي تتجاوزها. لذا احتفظت خريطة النبيذ ثنائية الأبعاد بنسبة 55%.

challenge icon

التحدي

متوسط

يقيس مختبر شوكولاتة 9 أشياء لكل قطعة. كم مكوّنًا يحافظ على 90% من التباين؟ scaled جاهز.

  1. لائِم PCA() وخذ حصة كل مكوّن.
  2. اطبع عدد المكوّنات التي تصل إلى 90%.
  3. ارسم الحصص كأعمدة عند 1 و2 و3...، مع التسمية each component؛ والإجمالي التراكمي كخط باستخدام marker="o"، مع التسمية running total؛ وخط رمادي متقطع عند 0.9؛ ووسيلة إيضاح. اعرض الرسم.

لمختبر آخر:

Components for 90%: 4

مخطط بعنوان التباين الذي يحتفظ به كل مكوّن، يضم 7 مكوّنات: أعمدة تتناقص من 0.42، وإجماليًا تراكميًا يرتفع إلى 1 ويتجاوز الخط المتقطع عند 0.9 عند المكوّن 4، ووسيلة إيضاح

جرّب بنفسك

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA

# مختبر صانع شوكولاتة: 9 قياسات لكل قطعة من أصل 150 قطعة
bars = pd.read_csv("chocolate.csv")
scaled = StandardScaler().fit_transform(bars)

fig, ax = plt.subplots()
ax.set_title("Spread Kept by Each Component")
ax.set_xlabel("Component")
ax.set_ylabel("Share of spread")

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس التعلّم غير الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت