İ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:
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.
Görev
ZorProgram, korunacak varyans payını (0.7 veya daha fazlası) okur; başlangıç kodu bir grafik hazırlar.
- Ö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.
- Bu bileşenleri k-means ile kümele: k = 2,
n_init=10,random_state=0. - 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ı.
- Her kümedeki ilk iki bileşeni dağılım grafiğinde göster ve
mostly benignveyamostly malignantolarak 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.877ve grafikleri:
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
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
1Grupları Bulma
Etiketler Olmadan ÖğrenmeBenzerliği ÖlçmeK-Means'i Elle Uygulamascikit-learn ile K-MeansÖzet: Spor Salonu Üyeleri7Uygulamada PCA
64 Boyutu GörmekBileşenleri Örüntü Olarak GörmekSıkıştır ve Yeniden OluşturModelden Önce PCATekrar: Yüz Tarayıcı10Proje: Rakam Kaşifi
Rakamları İncelePCA ile KüçültRakamları KümeleKümelere Ad VerAykırı Olanları Bul2k Sayısını Seçme
AtaletDirsek YöntemiSilüet PuanlarıKümeleme Öncesi ÖlçeklemeÖzet: Teslimat BölgeleriKendi başına pratik yap: Online Python derleyicisi