Menu
CoddyTech

מאפיינים מול התווית

חלק מהיחידה סטטיסטיקה ללמידת מכונה במסלול ה-Machine Learning של Coddy. שיעור 58 מתוך 64.

אילו מאפיינים משתנים יחד עם התווית? חשבו את המתאם של כל אחד מהם איתה, 0 עבור ממאיר ו-1 עבור שפיר, ודרגו אותם לפי עוצמת המתאם:

עמודות אופקיות של r עבור עשרת המאפיינים הממוצעים של נתוני הרקמה, החזק ביותר למעלה: mean concave points -0.78, mean perimeter -0.74, mean radius -0.73, עד mean fractal dimension ב-0.01

X.corrwith(y) נותן את ערך r של כל מאפיין בבת אחת:

X = cancer.data[cancer.feature_names[:10]]
r = X.corrwith(cancer.target)
strength = np.abs(r).sort_values(ascending=False)
for name in strength.index[:3]:
    print(name, np.round(r[name], 2))

זה מדפיס:

mean concave points -0.78
mean perimeter -0.74
mean radius -0.73

ערך r שלילי פירושו שהתכונה גדולה יותר במחלקה 0: לתאים ממאירים יש יותר נקודות קעורות. np.abs מדרג לפי העוצמה, בלי קשר לסימן.

קרוב ל-0, כמו ממד פרקטלי, מאפיין כמעט שאינו שונה בין המחלקות: מועמד להשמטה.

challenge icon

אתגר

בינוני

אילו מאפייני רקמה מודל צריך לנסות תחילה? הקלטים הם קבוצה, error או worst, ו-k; קוד הפתיחה מציב את מאפייני הקבוצה ב-X.

  1. דרגו את המאפיינים לפי עוצמת המתאם שלהם עם y.
  2. הדפיסו את k המובילים עם המתאם שלהם, כולל הסימן, בדיוק של 2 ספרות אחרי הנקודה.
  3. בדקו את הסימן: הדפיסו את ממוצעי המחלקות של המאפיין החזק ביותר.

עבור קבוצת mean ו-k = 2:

Top 2 mean features:
mean concave points: -0.78
mean perimeter: -0.74
mean concave points by class: malignant 0.09, benign 0.03

נסו בעצמכם

import numpy as np
from sklearn.datasets import load_breast_cancer

group = input()
k = int(input())
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
y = cancer.target
# עשרת המאפיינים של הקבוצה: mean, error או worst
start = {"mean": 0, "error": 10, "worst": 20}[group]
X = cancer.data[cancer.feature_names[start:start + 10]]

# כתבו את הקוד שלכם למטה
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה סטטיסטיקה ללמידת מכונה

תרגלו בעצמכם: קומפיילר Python אונליין