การใช้ PCA เป็นทางเลือกแทน nearZeroVar()
อีกทางเลือกหนึ่งแทนการตัดตัวทำนายที่มีความแปรปรวนต่ำออกคือการรัน PCA บนชุดข้อมูล วิธีนี้อาจเหมาะกว่าในบางกรณี เพราะไม่ได้ตัดข้อมูลทิ้งทั้งหมด แต่นำตัวทำนายที่มีความแปรปรวนต่ำหลายตัวมารวมกันเป็นตัวแปร PCA ที่มีความแปรปรวนสูง ซึ่งอาจช่วยเพิ่มความแม่นยำของโมเดลได้
เทคนิคนี้เหมาะเป็นพิเศษสำหรับโมเดลเชิงเส้น โดยออปชัน pca ในอาร์กิวเมนต์ preProcess จะทำการ center และ scale ข้อมูล รวมตัวแปรที่มีความแปรปรวนต่ำเข้าด้วยกัน และทำให้ตัวทำนายทุกตัวมีความตั้งฉากซึ่งกันและกัน ผลที่ได้คือชุดข้อมูลที่เหมาะสำหรับการสร้างโมเดล linear regression และมักช่วยเพิ่มความแม่นยำได้อย่างเห็นได้ชัด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning ด้วย caret ใน R
คำแนะนำการฝึกหัด
bloodbrain_x และ bloodbrain_y ถูกโหลดไว้ใน workspace แล้ว
- Fit โมเดล
glmกับชุดข้อมูล blood-brain เต็มรูปแบบโดยใช้ออปชัน"pca"ในpreProcess - พิมพ์โมเดลออกมาที่คอนโซลแล้วตรวจสอบผลลัพธ์ที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Fit glm model using PCA: model
model <- train(
x = ___,
y = ___,
method = ___,
preProcess = ___
)
# Print model to console