CodeBlanks Logo Icon CodeBlanks

Sınıflandırma nedir?

Sınıflandırma, veriyi önceden belirlenmiş sınıflardan birine atama görevidir.

Sınıflandırma nedir?

Sınıflandırma, bir örneğin önceden belirlenmiş sınıflardan hangisine ait olduğunu tahmin eder: e-posta spam mı, tümör iyi huylu mu, fotoğrafta hangi rakam var. Çıktı bir sayı değil, bir etikettir.

from sklearn.linear_model import LogisticRegression
X = [[1], [2], [3], [7], [8], [9]]
y = ["düşük", "düşük", "düşük", "yüksek", "yüksek", "yüksek"]
m = LogisticRegression().fit(X, y)
print(m.predict([[2.5], [7.5]]))   # ['düşük' 'yüksek']

Etiketler metin olabilir; scikit-learn sınıfları classes_ özniteliğinde sıralı tutar.

Lojistik regresyon

Adına rağmen lojistik regresyon bir sınıflandırıcıdır. Doğrusal bir skoru sigmoid fonksiyonuyla 0-1 arasına sıkıştırır ve sonucu olasılık olarak yorumlar:

def sigmoid(z):
    return 1 / (1 + np.exp(-z))
print(sigmoid(0))    # 0.5   karar sınırı
print(sigmoid(4))    # 0.98
print(sigmoid(-4))   # 0.018

Olasılık 0.5'ten büyükse pozitif sınıf seçilir. Hızlı, yorumlanabilir ve güçlü bir başlangıç modelidir.

Uygulama Sigmoid

sigmoid(z) fonksiyonunu np.exp ile yaz. np.array([-2, 0, 2]) için sonuçları np.round(..., 3) ile yazdır.

Başlangıç kodu

model.py
import numpy as np

# buraya yaz

Örnek çözüm

model.py
import numpy as np

def sigmoid(z):
    return 1 / (1 + np.exp(-z))

print(np.round(sigmoid(np.array([-2, 0, 2])), 3))

Beklenen çıktı

[0.119 0.5   0.881]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi bir sınıflandırma çıktısıdır?

  • Satış adedi 340
  • "onaylandı" / "reddedildi" Doğru cevap
  • Yarınki sıcaklık 21.3
  • Ev fiyatı 1.2 milyon

Açıklama: Sınırlı bir etiket kümesinden seçim yapılıyor; diğerleri sürekli sayılardır.

2 Lojistik regresyon sınıflandırıcısını oluştur.

Soru
m = ____()
Cevap
m = LogisticRegression()

Açıklama: LogisticRegression, sklearn.linear_model içindedir ve sınıflandırma yapar.

3 Kavramları eşleştir.

Kavram Anlamı
etiket Sınıf adı
sigmoid 0-1 arasına sıkıştırır
0.5 Varsayılan karar eşiği
classes_ Sıralı sınıflar

Başlangıç bölümündeki tüm dersler