Menu
CoddyTech

İki Tür Hücre

Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 51 / 51.

Bir laboratuvar, her biri 30 hücre ölçümü içeren 569 doku örneğini ölçtü. Grafiğe dökmek için çok fazla örnek var ve hiçbir göz bunları sınıflandıramaz:

24 örnek ve 30 ölçümden oluşan bir ızgara; her hücre düşük değerler için maviden yüksek değerler için kırmızıya uzanan renklerle gösterilmiş, belirgin bir desen içermeyen bir mozaik

Her örneğin iyi huylu ya da kötü huylu tanısı kapalı bir zarfta duruyor. Hücreler bu bilgi olmadan kendilerini iki türe ayırabilir mi?

30 ölçümü PCA ile azaltın, geriye kalanı kümeleyin ve ancak bundan sonra hücrelerin ne kadar yaklaştığını görmek için zarfı açın.

challenge icon

Görev

Zor

Program, korunacak varyans payını (0.7 veya daha fazlası) okur; başlangıç kodu bir grafik hazırlar.

  1. Ölçeklendir, ardından bu paya ulaşan en az sayıdaki bileşeni koru. Kaç tane olduğunu ve ne kadarını koruduklarını yazdır.
  2. Bu bileşenleri k-means ile kümele: k = 2, n_init=10, random_state=0.
  3. Zarfı aç: her küme için, en büyük olandan başlayarak tanılarını ve çoğunluğu yazdır. Ardından uyumu yazdır: kümesindeki çoğunlukla eşleşenlerin payı.
  4. Her kümedeki ilk iki bileşeni dağılım grafiğinde göster ve mostly benign veya mostly malignant olarak etiketle; lejantı göster.

İlk 300 örnek ve 0.8 için:

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

ve grafikleri:

İlk iki bileşendeki ilk 300 örnek: solda çoğunluğu iyi huylu olan bir küme ve sağa doğru yayılan, çoğunluğu kötü huylu olan bir küme; lejant da gösterilmiştir

Ardından Coddy seninkini açıklar.

Kendin dene

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 doku örneği, her biri için 30 hücre ölçümü
cancer = load_breast_cancer(as_frame=True)
cells = cancer.data
# Kapalı zarf: her örneğin iyi huylu mu yoksa kötü huylu mu olduğu. Yalnızca en sonda açın.
diagnosis = pd.Series(cancer.target_names[cancer.target])

# Korunacak varyansın oranı, 0.7 veya daha fazla
share = float(input())

fig, ax = plt.subplots()
ax.set_title("Cells on Two Components")
ax.set_xlabel("Component 1")
ax.set_ylabel("Component 2")

# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Denetimsiz Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi