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

ลองแบ่งข้อมูลแบบ 60/40

อย่างที่เห็นในวิดีโอ เราจะใช้ชุดข้อมูล Sonar ในบทนี้ โดยแบ่งเป็นชุดฝึก 60% และชุดทดสอบ 40% มาฝึกแบ่งข้อมูลเป็น train/test อีกครั้ง เพื่อให้คุ้นเคยกับกระบวนการนี้มากขึ้น จำไว้ว่าสามารถใช้ฟังก์ชัน sample() เพื่อสุ่มลำดับดัชนีแถวในชุดข้อมูล ซึ่งนำไปใช้ในการแบ่ง train/test ได้ เช่น:

n_obs <- nrow(my_data)
permuted_rows <- sample(n_obs)

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

my_data <- my_data[permuted_rows, ]

เมื่อจัดเรียงชุดข้อมูลแบบสุ่มแล้ว ก็แบ่ง 60% แรกเป็นชุดฝึก และ 40% ที่เหลือเป็นชุดทดสอบได้เลย

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

Machine Learning ด้วย caret ใน R

ดูคอร์ส

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

  • ดึงจำนวนการสังเกต (แถว) ใน Sonar แล้วกำหนดให้กับ n_obs
  • สุ่มลำดับดัชนีแถวของ Sonar แล้วเก็บผลลัพธ์ไว้ใน permuted_rows
  • ใช้ permuted_rows เพื่อจัดเรียงแถวของ Sonar ใหม่แบบสุ่ม แล้วบันทึกเป็น Sonar_shuffled
  • หาหมายเลขแถวที่ใช้แบ่งข้อมูลสำหรับอัตราส่วน 60/40 แล้วเก็บไว้ใน split
  • บันทึก 60% แรกของ Sonar_shuffled เป็นชุดฝึก
  • บันทึก 40% ที่เหลือของ Sonar_shuffled เป็นชุดทดสอบ

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

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

# Get the number of observations


# Shuffle row indices: permuted_rows


# Randomly order data: Sonar


# Identify row to split on: split
split <- round(n_obs * ___)

# Create train


# Create test
แก้ไขและรันโค้ด