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

สุ่มลำดับข้อมูลใน Data Frame

วิธีหนึ่งในการแบ่งชุดข้อมูลเป็น train/test คือการสุ่มลำดับข้อมูลก่อน แล้วจึงแบ่งออกเป็นสองส่วน วิธีนี้ช่วยให้ทั้ง training set และ test set เป็นตัวอย่างแบบสุ่ม และไม่นำความลำเอียงจากลำดับเดิมของชุดข้อมูล (เช่น ถ้าข้อมูลถูกเรียงตามราคาหรือขนาดมาก่อน) ติดไปด้วย ลองนึกภาพว่านี่คือการสับไพ่ก่อนแจก

ขั้นแรก ตั้งค่า random seed เพื่อให้ผลลัพธ์สามารถทำซ้ำได้ และได้การแบ่งแบบสุ่มเดิมทุกครั้งที่รันสคริปต์:

set.seed(42)

จากนั้น ใช้ฟังก์ชัน sample() เพื่อสุ่มลำดับ index ของแถวในชุดข้อมูล diamonds ซึ่งสามารถนำ index เหล่านี้ไปใช้จัดเรียงข้อมูลใหม่ได้ในภายหลัง:

rows <- sample(nrow(diamonds))

สุดท้าย ใช้เวกเตอร์แบบสุ่มนี้เพื่อจัดเรียงชุดข้อมูล diamonds ใหม่:

diamonds <- diamonds[rows, ]

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

Machine Learning ด้วย caret ใน R

ดูคอร์ส

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

  • ตั้งค่า random seed เป็น 42
  • สร้างเวกเตอร์ของ index แถวชื่อ rows
  • สุ่มลำดับข้อมูลใน data frame diamonds ใหม่ แล้วกำหนดผลลัพธ์ให้กับ shuffled_diamonds

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

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

# Set seed


# Shuffle row indices: rows


# Randomly order data
แก้ไขและรันโค้ด