Lojistik regresyonu uygulama
Bu, daha önce scipy.optimize.minimize kullanarak "sıfırdan" doğrusal regresyonu uyguladığın egzersize oldukça benziyor. Ancak bu kez lojistik kaybı minimize edeceğiz ve scikit-learn'in LogisticRegression modeliyle karşılaştıracağız (düzenlileştirmeyi kapatmak için C değerini büyük seçtik; bununla ilgili detaylar Bölüm 3'te!).
Önceki egzersizden log_loss() fonksiyonu ortamında zaten tanımlı ve sklearn meme kanseri tahmin veri kümesi (ilk 10 özellik, standartlaştırılmış) X ve y değişkenlerine yüklenmiş durumda.
Bu egzersiz
Python'da Lineer Sınıflandırıcılar
kursunun bir parçasıdırEgzersiz talimatları
range()içine eğitim örneği sayısını gir.- Lojistik regresyon için kayıp fonksiyonunu doldur.
- Katsayıları sklearn'ün
LogisticRegressionmodeliyle karşılaştır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# The logistic loss, summed over training examples
def my_loss(w):
s = 0
for i in range(____):
raw_model_output = w@X[i]
s = s + ____(raw_model_output * y[i])
return s
# Returns the w that makes my_loss(w) smallest
w_fit = minimize(my_loss, X[0]).x
print(w_fit)
# Compare with scikit-learn's LogisticRegression
lr = LogisticRegression(fit_intercept=False, C=1000000).fit(X,y)
print(lr.coef_)