การสร้าง Feature ด้วยตนเอง
หลังจากค้นคว้าข้อมูลร่วมกับทีม คุณนึกขึ้นได้ว่าแรงดึงดูดระหว่างวัตถุสองชิ้นเป็นไปตามกฎของนิวตัน:
$$F = G\frac{m_1m_2}{r^2}$$.
เนื่องจากไม่ทราบค่ามวลของวัตถุ จึงไม่สามารถใช้สูตรนี้โดยตรงได้ แต่สามารถสร้างโมเดล regression ของ force โดยใช้ inv_square_distance เป็นตัวแปรอธิบายได้ ชุดข้อมูล df ที่เสริมข้อมูลจากแบบฝึกหัดก่อนหน้าได้ถูกโหลดไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Feature Engineering in R
คำแนะนำการฝึกหัด
- สร้างตัวแปรใหม่
inv_square_distanceซึ่งคำนวณจากค่าผกผันของระยะทางยกกำลังสอง แล้วเพิ่มเข้าไปใน data framedf - สร้างโมเดล regression อย่างง่ายด้วย
lm()โดยใช้forceเทียบกับinv_square_distanceและบันทึกผลไว้ในตัวแปรlr_force_2 - นำค่าพยากรณ์ที่ได้ไปรวมกับ
df_inverseด้วยbind_cols
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a new variable inv_square_distance
df_inverse <- df %>% ___(inv_square_distance = 1/distance^2)
# Build a simple regression model
lr_force_2 <- lm(force ~ ___, data = df_inverse)
# Bind your predictions to df_inverse
df_inverse <- df_inverse %>% ___(lr2_pred = predict(lr_force_2))
df_inverse %>% ggplot(aes(x = distance, y = force)) +
geom_point() +
geom_line(aes(y = lr2_pred), col = "blue", lwd = .75) +
ggtitle("Linear regression of force vs. inv_square_distance") +
theme_classic()