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

Gradient boosted trees: การทำนาย

เมื่อรันโมเดลเสร็จแล้ว ขั้นตอนถัดไปคือการทำนายผลด้วยโมเดลนั้น ต่างจาก base-R ที่ใช้ฟังก์ชัน predict() สำหรับการทำนาย sparklyr ใช้ฟังก์ชัน ml_predict() แทน โดย ml_predict() รับอาร์กิวเมนต์ 2 ตัว ได้แก่ โมเดล และข้อมูลสำหรับทดสอบ

ml_predict(a_model, testing_data)

กรณีการใช้งานทั่วไปคือการเปรียบเทียบค่าที่ทำนายได้กับค่าจริง ซึ่งสามารถนำมาสร้างกราฟใน R ได้ รูปแบบโค้ดสำหรับเตรียมข้อมูลนี้มีดังต่อไปนี้ ทั้งนี้ การเพิ่มคอลัมน์ prediction ในปัจจุบันต้องทำในเครื่อง local ดังนั้นจึงต้อง collect ผลลัพธ์ก่อน

predicted_vs_actual <- testing_data %>%
  select(actual) %>%
  collect() %>%
  mutate(predicted)

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

แนะนำ Spark ด้วย sparklyr ใน R

ดูคอร์ส

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

มีการสร้าง Spark connection ไว้ให้แล้วในชื่อ spark_conn โดย Tibble ที่เชื่อมต่อกับชุดข้อมูลสำหรับ training และ testing ที่จัดเก็บใน Spark ได้ถูกกำหนดไว้ล่วงหน้าเป็น track_data_to_model_tbl และ track_data_to_predict_tbl ตามลำดับ และโมเดล gradient boosted trees ได้ถูกกำหนดไว้ล่วงหน้าเป็น gradient_boosted_trees_model

  • กำหนดตัวแปร predicted ที่เก็บผลการทำนายของโมเดลสำหรับข้อมูล testing
    • เรียกใช้ ml_predict() โดยส่งโมเดลและข้อมูล testing เป็นอาร์กิวเมนต์ ฟังก์ชันนี้จะสร้างค่าทำนายสำหรับชุดข้อมูล testing และเพิ่มค่าเหล่านั้นเป็นคอลัมน์ใหม่ชื่อ prediction
    • ใช้ pull() เพื่อดึงคอลัมน์นี้และกำหนดให้กับ predicted
  • กำหนดตัวแปร responses เพื่อเตรียมข้อมูลสำหรับเปรียบเทียบค่าที่ทำนายได้กับค่าจริง:
    • เลือกคอลัมน์ response ชื่อ year
    • Collect ผลลัพธ์
    • ใช้ mutate() เพื่อเพิ่มค่าทำนายที่ได้จาก predicted

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

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

# Training, testing sets & model are pre-defined
track_data_to_model_tbl
track_data_to_predict_tbl
gradient_boosted_trees_model

# Predict the responses for the testing data
predicted <- ___(
      ___,
      ___) %>% pull(prediction)

# Prepare the data for comparing predicted responses with actual responses
responses <- track_data_to_predict_tbl %>%
  # Select the response column
  ___ %>%
  # Collect the results
  ___ %>%
  # Add in the predictions
  mutate(___)
แก้ไขและรันโค้ด