Diyabetin İlerlemesi
Coddy'nin Machine Learning Journey'sinin Denetimli Öğrenme bölümünün bir parçası. Ders 55 / 58.
Bir diyabet kliniği, takip randevularını her hastanın hastalığının bir yıl içinde ne kadar ilerleyeceğine göre planlıyor. 2. bölümde, bir özellik bunun yalnızca bir kısmını açıklıyordu:
Şimdi load_diabetes içindeki on ölçümün tamamı modele veriliyor. Klinik hangi modele güvenmeli ve tahminler kaç puan sapacak?
Çapraz doğrulamayla adil bir seçim, modelin görmediği hastalar üzerindeki dürüst hata değerleri ve modelin gözden kaçırdığı şeyleri bulmak için bir artık kontrolü istiyor.
Görev
ZorProgram, Ridge alfa değerlerini alphas içine okur; başlangıç kodu başlıklı bir grafik oluşturur.
random_state=0ile test için dörtte birlik bir bölüm ayır.- Eğitim satırlarında 5 katlı CV kullanarak her alfa için bir
LinearRegressionve birRidgepuanını hesapla. Her birinin ortalama R squared değerini (3 ondalık basamakla), ardından kazananı yazdır. - Kazananı eğit ve test MAE ile RMSE değerlerini (1 ondalık basamakla), R squared değerini ise (3 ondalık basamakla) yazdır.
- Test artıklarını, yani gerçek değer eksi tahmin edilen değeri, tahminlere karşı dağılım grafiğinde göster. Sıfır çizgisi ekle, ardından grafiği göster.
Başka bir klinik ve 0.5 ile 2.0 alfa değerleri için:
Linear: CV R squared 0.472
Ridge 0.5: CV R squared 0.481
Ridge 2.0: CV R squared 0.402
Winner: Ridge 0.5
Test errors: MAE 47.3, RMSE 58.9, R squared 0.414Ardından Coddy artık grafiğini açıklar.
Kendin dene
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.linear_model import LinearRegression, Ridge
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
diabetes = load_diabetes(as_frame=True)
X = diabetes.data
y = diabetes.target
# Denenecek Ridge alfa değerleri
n = int(input())
alphas = []
for i in range(n):
alphas.append(float(input()))
fig, ax = plt.subplots()
ax.set_title("Residuals on Test Patients")
ax.set_xlabel("Predicted progression")
ax.set_ylabel("Residual (true - predicted)")
# 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.
Denetimli Öğrenme bölümündeki tüm dersler
1İlk Modeliniz
Örneklerden ÖğrenmeEğitim ve Test KümeleriUydurma ve Tahmin EtmeBir Modeli PuanlamaÖzet: Tohum Sınıflandırıcı4Lojistik Regresyon
Evet-Hayır TahminleriKarar EşiğiKanıt Olarak AğırlıklarBirden Fazla SınıfÖzet: Spam Filtresi2En Yakın Komşular
k-NN Nasıl Karar Verirk'yi SeçmekKarar SınırlarıKomşular İçin ÖlçeklemeÖzet: Şarap Komşuları5Sınıflandırıcıları Değerlendirme
Karmaşıklık MatrisiKesinlik ve DuyarlılıkF1 SkoruDengesiz SınıflarROC EğrileriÖzet: Tarama Testi8Çapraz Doğrulama
K-Katlı DoğrulamaModelleri Adil Bir Şekilde KarşılaştırmaIzgara AramasıÖzet: Kaykay Tamiri11Proje: Penguen Türleri
Penguenlerle TanışınVerileri HazırlayınBir Model SeçinEn İyisini AyarlayınModeli Yayına AlınKendi başına pratik yap: Online Python derleyicisi