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

การแบ่งข้อมูลสำหรับ training/testing

โดยทั่วไปเมื่อรันโมเดลเชิงพยากรณ์ จะต้องฝึกโมเดลบนข้อมูลส่วนหนึ่ง ("training" set) แล้วทดสอบผลการพยากรณ์กับข้อมูลที่เหลือ ("testing" set)

sdf_random_split() ช่วยแบ่ง data frame ออกเป็นชุด training และ testing โดยมีรูปแบบการใช้งานดังนี้

a_tibble %>%
  sdf_random_split(training = 0.7, testing = 0.3)

มีสองสิ่งที่ควรทราบ ประการแรก หากค่าสัดส่วนรวมกันไม่เท่ากับ 1 ระบบจะปรับขนาดให้อัตโนมัติ เช่น หากระบุ training = 0.35 และ testing = 0.15 ขนาดที่ได้จะเป็นสองเท่าของที่ขอ ประการที่สอง สามารถตั้งชื่อชุดข้อมูลได้ตามต้องการ และแบ่งข้อมูลออกเป็นมากกว่าสองชุดก็ได้ ตัวอย่างเช่น

a_tibble %>%
  sdf_random_split(a = 0.1, b = 0.2, c = 0.3, d = 0.4)

ค่าที่ส่งคืนเป็น list ของ tibble สามารถเข้าถึงแต่ละรายการได้ด้วย list indexing operator ตามปกติ

partitioned$a
partitioned[["b"]]

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

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

ดูคอร์ส

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

Spark connection ถูกสร้างไว้ให้แล้วในชื่อ spark_conn และ tibble ที่เชื่อมต่อกับ track metadata ที่เก็บใน Spark ถูกกำหนดไว้ล่วงหน้าในชื่อ track_metadata_tbl

  • ใช้ sdf_random_split() เพื่อแบ่ง track metadata
    • นำข้อมูล 70% ไปใส่ในชุดที่ชื่อ training
    • นำข้อมูล 30% ไปใส่ในชุดที่ชื่อ testing
  • ดึง sdf_dim()ensions ของ training tibble
  • ดึง dimensions ของ testing tibble

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

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

# track_metadata_tbl has been pre-defined
track_metadata_tbl

partitioned <- track_metadata_tbl %>%
  # Partition into training and testing sets
  ___

# Get the dimensions of the training set
___

# Get the dimensions of the testing set
___
แก้ไขและรันโค้ด