CodeBlanks Logo Icon CodeBlanks

Dağılım grafiği

Dağılım grafiği, iki değişken arasındaki ilişkiyi noktalarla gösterir.

Dağılım grafiği

Dağılım grafiği iki sayısal değişkenin ilişkisini noktalarla gösterir. c parametresiyle noktalar sınıfa göre renklendirilir; sınıflandırmada sınıfların ayrılıp ayrılmadığı hemen görülür:

from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
fig, ax = plt.subplots()
sc = ax.scatter(X[:, 2], X[:, 3], c=y, cmap="viridis", s=20)
ax.set_xlabel("taç yaprak uzunluğu")
ax.set_ylabel("taç yaprak genişliği")
fig.colorbar(sc)

Iris'te bu iki özellik üç türü neredeyse tamamen ayırır; bu, ağacın neden onları önemli bulduğunu açıklar.

Gerçek ve tahmin

Regresyon modelini değerlendirmenin en açık yolu, gerçek değerleri tahminlere karşı çizmektir. İyi bir modelde noktalar y = x köşegeni etrafında toplanır:

ax.scatter(y_test, p, alpha=0.6)
lim = [y_test.min(), y_test.max()]
ax.plot(lim, lim, "r--")   # kusursuz tahmin çizgisi

Noktalar köşegenin altında yığılıyorsa model sistematik olarak az tahmin ediyordur.

Uygulama Sınıfları çiz

Iris'in 3. ve 4. sütunlarını (X[:, 2], X[:, 3]) c=y ile dağılım grafiğine çiz ve kaydet. Ardından her sınıfın taç yaprak uzunluğu ortalamasını [X[y == k, 2].mean() for k in range(3)] ile hesaplayıp np.round(..., 2) ile yazdır.

Başlangıç kodu

model.py
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)

# buraya yaz

Örnek çözüm

model.py
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)

fig, ax = plt.subplots()
ax.scatter(X[:, 2], X[:, 3], c=y)
fig.savefig("iris.png")
print(np.round([X[y == k, 2].mean() for k in range(3)], 2))

Beklenen çıktı

[1.46 4.26 5.55]

Soru ve cevaplar

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

1 Noktaları sınıf etiketine göre renklendiren parametre hangisidir?

  • s
  • alpha
  • marker
  • c Doğru cevap

Açıklama: c renk değerlerini alır; s boyutu, alpha saydamlığı belirler.

2 Noktaları yarı saydam çiz.

Soru
ax.scatter(x, y, ____=0.5)
Cevap
ax.scatter(x, y, alpha=0.5)

Açıklama: alpha 0 (görünmez) ile 1 (opak) arasıdır; üst üste binen noktaları gösterir.

3 Parametreleri eşleştir.

Kavram Anlamı
c Renk değerleri
s Nokta boyutu
alpha Saydamlık
cmap Renk haritası

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