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 adalah bagian dari kursus
Machine Learning untuk Analitik Pemasaran dengan R
Petunjuk 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 praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(___)$___