เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การถดถอยเชิงเส้นด้วย principal components

ตอนนี้ออบเจกต์ newsData มีตัวแปรเพิ่มขึ้นมาอีกหนึ่งตัวคือ logShares ซึ่งแสดงจำนวนครั้งที่บทความข่าวถูกแชร์ อย่างไรก็ตาม การกระจายของข้อมูลนี้จะมีความเบ้สูง จึงใช้ค่าลอการิทึมของจำนวนการแชร์แทน ลองนำสิ่งที่เพิ่งเรียนไปมาประยุกต์เพื่อพยากรณ์ค่า log shares กัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning for Marketing Analytics ใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างโมเดลเพื่อพยากรณ์ log shares โดยใช้ตัวแปรอื่นทั้งหมด แล้วเก็บผลลัพธ์ไว้ใน mod1
  • สร้าง dataframe ใหม่ชื่อ dataNewsComponents ที่ประกอบด้วย log shares และค่าบน 6 components แรก โดย pcaNews คือออบเจกต์ที่เก็บผลลัพธ์ PCA ไว้
  • สร้างโมเดลที่สอง (mod2) เพื่อพยากรณ์ log shares โดยใช้เฉพาะ 6 components นั้น
  • เปรียบเทียบค่า adjusted R squared ของทั้งสองโมเดล ค่าเปลี่ยนแปลงไปอย่างไรเมื่อใช้เฉพาะ principal components และโมเดลที่ได้มีความแม่นยำเพียงใด

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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(___)$___
แก้ไขและรันโค้ด