שני סוגי תאים
חלק מהיחידה למידה בלתי מונחית במסלול ה-Machine Learning של Coddy. שיעור 51 מתוך 51.
מעבדה מדדה 569 דגימות רקמה, עם 30 מדידות תאים בכל אחת. יש יותר מדי בשביל לשרטט, ואף אחד לא יכול למיין אותן במבט:
האבחנה של כל דגימה, שפירה או ממאירה, נמצאת במעטפה סגורה. האם התאים יכולים למיין את עצמם לשני סוגים בלעדיה?
צמצמו את 30 המדידות באמצעות PCA, קבצו את מה שנותר, ורק אז פתחו את המעטפה כדי לראות כמה קרובים היו התאים.
אתגר
קשההתוכנית קוראת את שיעור השונות שיש לשמר, 0.7 או יותר; קוד הפתיחה מכין תרשים.
- בצעו תקנון, ואז שמרו את מספר הרכיבים הקטן ביותר שמגיע לשיעור הזה. הדפיסו כמה רכיבים נשמרים ומה הם משמרים.
- קבצו את הרכיבים האלה באמצעות k-means: k = 2,
n_init=10, random_state=0. - פתחו את המעטפה: עבור כל אשכול, לפי סדר גודל האשכולות מהגדול לקטן, הדפיסו את האבחנות שלו ואת האבחנה שבקבוצת הרוב. לאחר מכן, את מידת ההסכמה: השיעור שתואם לאבחנה שבקבוצת הרוב של האשכול.
- צרו תרשים פיזור של שני הרכיבים הראשונים עבור כל אשכול, עם התווית
mostly benignאוmostly malignant; הוסיפו מקרא והציגו את התרשים.
עבור 300 הדגימות הראשונות ו-0.8:
Components for 80% of the variance: 5 (they keep 0.844)
Cluster of 175: 146 benign, 29 malignant, so mostly benign
Cluster of 125: 8 benign, 117 malignant, so mostly malignant
Agreement with the diagnosis: 0.877והתרשים שלהן:
לאחר מכן Coddy מתאר את התוצאה שלך.
נסו בעצמכם
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
# 569 דגימות רקמה, 30 מדידות של תאים בכל אחת
cancer = load_breast_cancer(as_frame=True)
cells = cancer.data
# המעטפה החתומה: שפיר או ממאיר עבור כל דגימה. פתחו אותה רק בסוף.
diagnosis = pd.Series(cancer.target_names[cancer.target])
# שיעור השונות שיש לשמר, 0.7 או יותר
share = float(input())
fig, ax = plt.subplots()
ax.set_title("Cells on Two Components")
ax.set_xlabel("Component 1")
ax.set_ylabel("Component 2")
# כתבו את הקוד שלכם למטה
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה למידה בלתי מונחית
תרגלו בעצמכם: קומפיילר Python אונליין