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

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