שונות מוסברת
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 27 מתוך 51.
כמה שמרו 2 רכיבים? כל רכיב מחזיק בחלק מהפיזור הכולל, יחס השונות המוסברת שלו. עבור כל 13 רכיבי היין:
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%.
אתגר
בינונימעבדה לשוקולד מודדת 9 דברים בכל חפיסה. כמה רכיבים שומרים על 90% מהפיזור? scaled מוכן.
- התאם
PCA()וקח את החלק של כל רכיב. - הדפס כמה רכיבים מגיעים ל־90%.
- צייר את החלקים כעמודות ב־1, 2, 3... עם התווית
each component; את הסכום המצטבר כקו עםmarker="o", עם התוויתrunning total; קו אפור מקווקו ב־0.9; ומקרא. הצג אותו.
עבור מעבדה אחרת:
Components for 90%: 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")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין