주성분을 이용한 선형 회귀
객체 newsData에는 이제 추가 변수 logShares가 포함되어 있어요. 공유 수는 뉴스 기사가 얼마나 자주 공유되었는지를 나타내지만, 분포가 크게 치우치는 경향이 있어 공유 수의 로그를 사용해 분석하겠습니다. 방금 배운 내용을 적용해 로그 공유 수를 예측해 보세요!
이 연습은 강의의 일부입니다
R로 배우는 Machine Learning 기반 마케팅 분석
연습 안내
- 다른 모든 변수를 사용해 로그 공유 수를 예측하는 모델을 계산하고,
mod1에 저장하세요. - 로그 공유 수와 첫 6개 주성분 값으로 구성된 새 데이터프레임
dataNewsComponents를 만드세요. PCA 결과는pcaNews객체에 들어 있어요. - 여섯 개 주성분만으로 로그 공유 수를 예측하는 두 번째 모델(
mod2)을 계산하세요. - 두 모델의 보정된 결정 계수(adjusted R squared)를 비교하세요. 주성분만 사용했을 때 값이 어떻게 변했나요? 모델의 성능은 어떤가요?
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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(___)$___