PCA
Coddy'nin Machine Learning Journey'sinin Denetimsiz Öğrenme bölümünün bir parçası. Ders 26 / 51.
PCA en geniş dağılımın yönünü, ardından ona dik açı yapan en iyi yönü ve böyle devam ederek bileşenleri bulur. Şarap ikizlerinde:
Her satırın ilk birkaç bileşen üzerindeki izdüşümleri yeni özellikleri olur:
from sklearn.decomposition import PCA
scaled = StandardScaler().fit_transform(X)
points = PCA(n_components=2).fit_transform(scaled)
print(X.shape, points.shape)13 şarap ölçümünün tümü için bu, (178, 13) (178, 2) çıktısını verir.
Önce ölçeklendirin. PCA yayılımı temel alır; bu yüzden yüzlerle ifade edilen prolin gibi büyük birimlere sahip bir özellik, yalnızca büyüklüğü sayesinde öne çıkar:
Görev
OrtaBir su laboratuvarı, üç kaynaktan gelen şişeleri test ediyor; her birinde 8 ölçüm var. 2B bir harita kaynakları birbirinden ayırt edebilir mi? draw_springs(ax, points), tüm 2B noktaları kaynağa göre renklendirir.
X'i ölçeklendir, ardından PCA ile 2 bileşene indirgeyerekpointsiçine aktar.- Özellik sayısını öncesinde ve sonrasında yazdır.
- Noktaları
draw_springsile çiz ve grafiği göster.
6 ölçümlü başka bir laboratuvar için:
From 6 features to 2Coddy haritanı açıklıyor.
Kendin dene
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
# Bir su laboratuvarı: üç kaynaktan alınan 120 şişenin her biri için 8 ölçüm
waters = pd.read_csv("waters.csv")
X = waters.drop(columns="spring")
# 2D noktaları, her kaynak için bir grup olacak şekilde, açıklama kutusuyla dağılım grafiğinde gösterir
def draw_springs(ax, points):
for spring in ["alpine", "volcanic", "coastal"]:
rows = (waters["spring"] == spring).to_numpy()
ax.scatter(points[rows, 0], points[rows, 1], s=16, label=spring)
ax.legend()
fig, ax = plt.subplots()
ax.set_title("Spring Waters in 2D")
ax.set_xlabel("First component")
ax.set_ylabel("Second component")
# 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