Random Forest: การสร้างโมเดล
เช่นเดียวกับ gradient boosted trees, random forest ก็เป็นอีกรูปแบบหนึ่งของ ensemble model กล่าวคือ วิธีนี้ใช้โมเดลที่เรียบง่ายจำนวนมาก (ในที่นี้คือ decision tree) แล้วรวมผลเข้าด้วยกันเพื่อสร้างโมเดลที่ดีกว่าเดิม ต่างจากการรันโมเดลเดิมซ้ำๆ แบบวนซ้ำ random forest จะรันโมเดลแยกกันหลายตัวพร้อมกัน โดยแต่ละโมเดลใช้ข้อมูลส่วนย่อยและฟีเจอร์ส่วนย่อยที่เลือกแบบสุ่ม จากนั้น decision tree สุดท้ายจะทำการพยากรณ์โดยรวมผลลัพธ์จากโมเดลแต่ละตัวเข้าด้วยกัน
ฟังก์ชัน random forest ใน sparklyr มีชื่อว่า ml_random_forest() ซึ่งใช้งานในลักษณะเดียวกันกับ ml_gradient_boosted_trees() (ดูแบบฝึกหัดแรกของบทนี้เพื่อทบทวนรูปแบบการใช้งาน)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนะนำ Spark ด้วย sparklyr ใน R
คำแนะนำการฝึกหัด
มีการสร้าง Spark connection ไว้ให้แล้วในชื่อ spark_conn และกำหนด tibble ที่เชื่อมต่อกับข้อมูล metadata/timbre ของแทร็กที่รวมและกรองแล้วซึ่งเก็บอยู่ใน Spark ไว้ล่วงหน้าในชื่อ track_data_to_model_tbl
- ทำการวิเคราะห์พยากรณ์ปีซ้ำอีกครั้ง คราวนี้ใช้โมเดล random forest
- ดึงคอลัมน์
timbreจากtrack_data_to_model_tblแล้วกำหนดผลลัพธ์ให้กับfeature_colnames - สร้างสูตรสำหรับโมเดลโดยใช้
reformulate() - รันโมเดล random forest แล้วกำหนดผลลัพธ์ให้กับ
random_forest_model
- ดึงคอลัมน์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# track_data_to_model_tbl has been pre-defined
track_data_to_model_tbl
# Get the timbre columns
feature_colnames <- ___
# Create the formula for the model
year_formula <- ___
# Run the random forest model
random_forest_model <- ___