Hồi quy tuyến tính với các thành phần chính
Đối tượng newsData hiện có thêm một biến: logShares. Số lần chia sẻ cho biết bài báo được chia sẻ bao nhiêu lần. Tuy nhiên, phân phối này sẽ bị lệch mạnh, nên bạn sẽ làm việc với log của số lần chia sẻ. Hãy áp dụng những gì bạn vừa học để dự đoán log shares!
Bài tập này là một phần của khóa học
Machine Learning cho Phân tích Marketing bằng R
Hướng dẫn bài tập
- Xây dựng một mô hình dự đoán log shares bằng tất cả các biến còn lại. Lưu mô hình là
mod1. - Tạo dataframe mới
dataNewsComponentsgồm log shares và các giá trị trên 6 thành phần đầu tiên. Đối tượngpcaNewstiếp tục chứa kết quả PCA. - Xây dựng mô hình thứ hai (
mod2) dự đoán log shares chỉ với 6 thành phần. - So sánh R bình phương hiệu chỉnh của các mô hình. Khi chỉ dùng các thành phần chính, giá trị thay đổi thế nào? Mô hình của bạn tốt đến mức nào?
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(___)$___