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

Girdi dönüşümleri: "hokey sopası"

Bu egzersizde, fiyatı evin boyutunu (yüzey alanı) ölçen bir değişkenden tahminleyen bir model kuracağız. Senin için yüklenen houseprice veri kümesi şu sütunlara sahip:

  • price: ev fiyatı (1000 $ biriminde)
  • size: yüzey alanı

Saçılım grafiği verinin oldukça doğrusal olmadığını gösteriyor: küçük evlerde fiyatın epey yatay seyrettiği, ev büyüdükçe ise dik bir şekilde arttığı bir tür "hokey sopası" deseni var. Kare ve küp terimli modeller (quadratic ve cubic) genellikle hokey sopası türü ilişkileri ifade etmek için iyi fonksiyonel biçimlerdir. price ile size karesi arasında "fiziksel" bir neden olmak zorunda değildir; ikinci dereceden bir terim gözlenen ilişkiye kapalı formda bir yaklaşım sunar.

scatterplot

Kare alınmış boyutun bir fonksiyonu olarak fiyatı tahminleyen bir model kuracak ve eğitim verisi üzerindeki uyumuna bakacaksın.

^ aynı zamanda etkileşimleri ifade etmek için de kullanıldığından, x^2 ifadesini olduğu gibi ele almak için I() (docs) fonksiyonunu kullan: yani x'in kendisiyle etkileşimi yerine x'in karesi olarak.

exampleFormula = y ~ I(x^2)

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

R'de Supervised Learning: Regresyon

Kursa Göz Atın

Egzersiz talimatları

  • Kare alınmış boyutun bir fonksiyonu olarak fiyatı ifade eden bir formül yaz ve fmla_sqr olarak kaydet. Yazdır.
  • fmla_sqr kullanarak veriye bir model model_sqr kur.
  • Karşılaştırma için price ~ size formülünü kullanarak doğrusal bir model model_lin kur.
  • Boşlukları doldurarak
    • iki modelden eğitim verisi üzerinde tahminler üret,
    • pivot_longer() ile tahminleri tek bir pred sütununda birleştir,
    • iki modelin tahminlerini verilerle görsel olarak karşılaştır. Hangisi daha iyi uyuyor?

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# houseprice is available
summary(houseprice)

# Create the formula for price as a function of squared size
(fmla_sqr <- ___)

# Fit a model of price as a function of squared size (use fmla_sqr)
model_sqr <- ___

# Fit a model of price as a linear function of size
model_lin <- ___

# Make predictions and compare
houseprice %>% 
    mutate(pred_lin = ___(___),       # predictions from linear model
           pred_sqr = ___(___)) %>%   # predictions from quadratic model
    pivot_longer(cols = c('pred_lin', 'pred_sqr'), names_to = 'modeltype', values_to = 'pred') %>% # pivot the predictions
    ggplot(aes(x = size)) + 
       geom_point(aes(y = ___)) +                   # actual prices
       geom_line(aes(y = ___, color = modeltype)) + # the predictions
       scale_color_brewer(palette = "Dark2")
Kodu Düzenle ve Çalıştır