Denetimsiz Öğrenme

Python'da Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

Denetimsiz öğrenme

  • Denetimsiz öğrenme verideki kalıpları bulur
  • Örn., müşterileri alışverişlerine göre kümeler
  • Alışveriş kalıplarıyla veriyi sıkıştırır (boyut indirgeme)
Python'da Unsupervised Learning

Denetimli vs denetimsiz öğrenme

  • Denetimli öğrenme bir tahmin görevi için kalıplar bulur
  • Örn., tümörleri iyi huylu veya kötü huylu olarak sınıflandırır (etiketler)
  • Denetimsiz öğrenme verideki kalıpları bulur
  • ... ancak belirli bir tahmin görevi olmadan
Python'da Unsupervised Learning

Iris veri seti

  • Birçok iris bitkisinin ölçümleri
  • Üç iris türü:
    • setosa
    • versicolor
    • virginica
  • Taç yaprak uzunluğu, taç yaprak genişliği, çanak yaprak uzunluğu, çanak yaprak genişliği (veri setinin özellikleri)

İris

1 https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_iris.html
Python'da Unsupervised Learning

Diziler, özellikler ve örnekler

  • 2B NumPy dizisi
  • Sütunlar ölçümlerdir (özellikler)
  • Satırlar iris bitkilerini temsil eder (örnekler)
Python'da Unsupervised Learning

Iris verisi 4 boyutludur

  • Iris örnekleri 4 boyutlu uzayda noktalardır
  • Boyut = özellik sayısı
  • Görselleştirmek için boyut çok yüksek!
  • ... ancak denetimsiz öğrenme içgörü sağlar
Python'da Unsupervised Learning

k-means kümeleme

  • Örnek kümeleri bulur
  • Küme sayısı belirtilmelidir
  • sklearn ("scikit-learn") ile uygulanır
Python'da Unsupervised Learning
print(samples)
[[ 5.   3.3  1.4  0.2]
 [ 5.   3.5  1.3  0.3]
 ...
 [ 7.2  3.2  6.   1.8]]
from sklearn.cluster import KMeans

model = KMeans(n_clusters=3)
model.fit(samples)
KMeans(n_clusters=3)
labels = model.predict(samples)

print(labels)
[0 0 1 1 0 1 2 1 0 1 ...]
Python'da Unsupervised Learning

Yeni örnekler için küme etiketleri

  • Yeni örnekler mevcut kümelere atanabilir
  • k-means her kümenin ortalamasını ("merkezler") tutar
  • Her yeni örneğe en yakın merkezi bulur
Python'da Unsupervised Learning

Yeni örnekler için küme etiketleri

print(new_samples)
[[ 5.7  4.4  1.5  0.4]
 [ 6.5  3.   5.5  1.8]
 [ 5.8  2.7  5.1  1.9]]
new_labels = model.predict(new_samples)

print(new_labels)
[0 2 1]
Python'da Unsupervised Learning

Saçılım grafikleri

  • Çanak yaprak uzunluğu vs. taç yaprak uzunluğu saçılım grafiği
  • Her nokta bir iris örneğini temsil eder
  • Noktaları küme etiketlerine göre renklendirin
  • PyPlot (matplotlib.pyplot)

Saçılım grafiği

Python'da Unsupervised Learning

Saçılım grafikleri

import matplotlib.pyplot as plt

xs = samples[:,0] ys = samples[:,2]
plt.scatter(xs, ys, c=labels)
plt.show()
Python'da Unsupervised Learning

Hadi pratik yapalım!

Python'da Unsupervised Learning

Preparing Video For Download...