BaşlayınÜcretsiz başlayın

Nasıl optimal?

Regresyon parametrelerini elde etmek için kullandığın np.polyfit() fonksiyonu, artıkların karelerinin toplamını (RSS: residual sum of squares) optimize ederek optimal eğim ve kesişimi bulur. Bu egzersizde, optimize edilen fonksiyonu, yani RSS'i, eğim parametresi a'ya karşı çizeceksin. Bunu yapmak için kesişimi, optimizasyonda bulduğun değere sabitle. Sonra, RSS'i eğime karşı çiz. Minimum nerede?

Bu egzersiz, kursun bir parçasıdır

Python ile İstatistiksel Düşünme (Bölüm 2)

Kursa Göz Atın

Egzersiz talimatları

  • RSS'i hesaplamak için eğim değerlerini belirt. 0 ile 0.1 aralığında 200 nokta elde etmek için np.linspace() kullan. Örneğin, 0 ile 0.5 aralığında 100 nokta almak için np.linspace(0, 0.5, 100) kullanabilirsin.
  • empty_like() fonksiyonu, verilen bir diziyle aynı şekil ve tipte yeni bir dizi döndürür (bu durumda a_vals). Bununla, RSS'i tutacak rss adlı bir diziyi np.empty_like() ve yukarıda oluşturduğun diziyle başlat.
  • Eğim için RSS toplamını hesaplamak üzere bir for döngüsü yaz. İpucu: RSS şu şekilde verilir: np.sum((y_data - a * x_data - b)**2). Önceki egzersizde hesapladığın b değişkeni zaten alan adında mevcut. Burada, fertility y_data, illiteracy ise x_data'dır.
  • RSS'i (rss) eğime (a_vals) karşı çiz.
  • Grafiği görmek için Yanıtı Gönder'e bas!

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Specify slopes to consider: a_vals
a_vals = ____

# Initialize sum of square of residuals: rss
rss = ____

# Compute sum of square of residuals for each value of a_vals
for i, a in enumerate(a_vals):
    rss[i] = ____((____ - a*____ - b)**2)

# Plot the RSS
plt.plot(____, ____, '-')
plt.xlabel('slope (children per woman / percent illiterate)')
plt.ylabel('sum of square of residuals')

plt.show()
Kodu Düzenle ve Çalıştır