Regresi linear dengan principal component
Objek newsData sekarang berisi satu variabel tambahan: logShares. Jumlah shares menunjukkan seberapa sering artikel berita dibagikan. Namun, sebarannya sangat miring, sehingga Anda akan bekerja dengan logaritma dari jumlah shares tersebut. Terapkan yang baru saja Anda pelajari dan prediksikan log shares!
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Analitik Pemasaran dengan R
Instruksi latihan
- Hitung model untuk memprediksi log shares dengan semua variabel lainnya. Simpan sebagai
mod1. - Buat dataframe baru
dataNewsComponentsyang berisi log shares dan nilai pada 6 komponen pertama. ObjekpcaNewskembali berisi hasil PCA. - Hitung model kedua (
mod2) yang memprediksi log shares hanya dengan 6 komponen tersebut. - Bandingkan adjusted R squared dari model-model tersebut. Bagaimana perubahan nilainya saat hanya menggunakan principal component? Seberapa baik model Anda?
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Predict log shares with all original variables
mod1 <- lm(logShares ~ ., data = ___)
# Create dataframe with log shares and first 6 components
dataNewsComponents <- cbind(logShares = newsData[, "logShares"],
___$x[, 1:__]) %>%
as.data.frame()
# Predict log shares with first six components
mod2 <- lm(___ ~ ., data = ___)
# Print adjusted R squared for both models
___(mod1)$adj.r.squared
summary(___)$___