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

Bağıl hata

Bu egzersizde, bağıl hatayı mutlak hatayla karşılaştıracaksın. Modelleme amacıyla, bağıl hatayı şöyle tanımlıyoruz:

$$ rel = \frac{(y - pred)}{y} $$

Yani hata, gerçek sonuca göredir. Bir modelin toplam bağıl hatasını bağıl kök ortalama kare hatayla ölçeceksin:

$$ rmse_{rel} = \sqrt(\overline{rel^2}) $$

burada \(\overline{rel^2}\), \(rel^2\) değerlerinin ortalamasıdır.

fdata adlı örnek (oyuncak) veri kümesi önceden yüklendi. Şu sütunları içeriyor:

  • y: bir modelin tahmin etmesi gereken gerçek çıktı; bunu, bir müşterinin mağazandaki bir ziyarette harcayacağı para miktarı olarak hayal et.
  • pred: y değerini tahmin eden bir modelin tahminleri.
  • label: kategorik: y değerinin small (küçük) ya da large (büyük) alışveriş yapan bir popülasyondan gelip gelmediği.

Hangi modelin "daha iyi" olduğunu bilmek istiyorsun: small alışverişleri tahmin eden mi, yoksa large alışverişleri tahmin eden mi.

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

R'de Supervised Learning: Regresyon

Kursa Göz Atın

Egzersiz talimatları

  • Veriyi incelemek için boşlukları doldur. Büyük alışverişlerin genelde küçüklerden yaklaşık 100 kat daha büyük olduğuna dikkat et.
  • Hata sütunlarını oluşturmak için boşlukları doldur:
    • Artığı y - pred olarak tanımla.
    • Bağıl hatayı residual / y olarak tanımla.
  • RMSE ve bağıl RMSE'yi hesaplamak ve karşılaştırmak için boşlukları doldur.
    • Mutlak hatalar nasıl karşılaştırılıyor? Bağıl hatalar nasıl?
  • Tahminlerin gerçek sonuçlara karşı grafiğini incele.
    • Sence hangi model "daha iyi"?

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# fdata is available
summary(fdata)

# Examine the data: generate the summaries for the groups large and small:
fdata %>% 
    group_by(label) %>%     # group by small/large purchases
    summarize(min  = ___,   # min of y
              mean = ___,   # mean of y
              max  = ___)   # max of y

# Fill in the blanks to add error columns
fdata2 <- fdata %>% 
         group_by(label) %>%       # group by label
           mutate(residual = ___,  # Residual
                  relerr   = ___)  # Relative error

# Compare the rmse and rmse.rel of the large and small groups:
fdata2 %>% 
  group_by(label) %>% 
  summarize(rmse     = ___,   # RMSE
            rmse.rel = ___)   # Root mean squared relative error
            
# Plot the predictions for both groups of purchases
ggplot(fdata2, aes(x = pred, y = y, color = label)) + 
  geom_point() + 
  geom_abline() + 
  facet_wrap(~ label, ncol = 1, scales = "free") + 
  ggtitle("Outcome vs prediction")
Kodu Düzenle ve Çalıştır