Menu
CoddyTech

Artık Grafikleri

Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 14 / 58.

İyi bir puan, yanlış bir şekli gizleyebilir. Yükselen bir hamur üzerinde bu doğrunun R kare puanı 0.82’dir, ancak hataları yay şeklinde sıralanır:

Sol: saatlere göre hamur yüksekliği; hızla yükselip sonra yavaşlıyor ve üzerine düz bir uyum doğrusu çizilmiş, R kare 0.82. Sağ: tahminlere göre artıklar -1.3'ten +0.7'ye yükselip -0.7'ye geri düşüyor; kesikli sıfır çizgisinin çevresinde bir yay oluşturuyor

Sağdaki grafik bir artık grafiğidir: her bir artık, yani gerçek değer eksi tahmin edilen değer, tahminine karşılık 0 çizgisi üzerinde gösterilir:

residuals = y_test - pred
fig, ax = plt.subplots()
ax.scatter(pred, residuals)
ax.axhline(0, color="gray", linestyle="--")
plt.show()

Sağlıklı artıklar, 0 çevresinde gürültü gibi dağılır. Bir örüntü, modelin bir şeyi gözden kaçırdığı anlamına gelir: burada, artışın yavaşladığı.

Birden fazla özellik varsa, artık değerleri her bir özelliğe karşı da çiz: kavis yapan özellik eğriyi gizler.

challenge icon

Görev

Orta

Bir sürüş okulu, 80 frenleme testi için bir doğru uydurdu: speed_kmh ve braking_m. Başlangıç kodu, test tahminlerini pred içinde tutar ve grafiği etiketler.

  1. Kalıntıları hesapla.
  2. Tahminlere karşı, 0'da kesikli gri bir çizgi üzerinde dağılım grafiği oluştur, ardından grafiği göster.

Doğru bir eğriyi gözden kaçırıyor mu? Solda, negatif bir fren mesafesi bile tahmin ediyor.

Başka verilerden elde edilen, düzgün bir doğrunun grafiği şöyle görünür:

Sağlam Bir Doğru başlıklı bir kalıntı grafiği: 0'daki kesikli çizginin üstünde ve altında, herhangi bir örüntü oluşturmadan dağılmış yirmi nokta

Coddy grafiğini açıklıyor.

Kendin dene

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

brakes = pd.read_csv("braking.csv")
X_train, X_test, y_train, y_test = train_test_split(brakes[["speed_kmh"]], brakes["braking_m"], test_size=0.25, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
pred = model.predict(X_test)

fig, ax = plt.subplots()
ax.set_title("Braking Line Check")
ax.set_xlabel("Predicted braking distance (m)")
ax.set_ylabel("Residual (m)")

# Kodunuzu aşağıya yazın
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Denetimli Öğrenme bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi