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

การสร้างการแบ่งชุดข้อมูล test/train แบบสุ่ม

ในแบบฝึกหัดถัดไปหลายข้อ จะใช้ข้อมูล mpg จากแพ็กเกจ ggplot2 ซึ่งอธิบายลักษณะของรถยนต์หลายยี่ห้อและรุ่น จากหลายปี โดยมีเป้าหมายเพื่อทำนายประสิทธิภาพการใช้เชื้อเพลิงในเมืองจากประสิทธิภาพบนทางหลวง

ในแบบฝึกหัดนี้ จะแบ่ง mpg ออกเป็นชุดข้อมูล training mpg_train (75% ของข้อมูล) และชุดข้อมูล test mpg_test (25% ของข้อมูล) วิธีหนึ่งที่ทำได้คือการสร้างคอลัมน์ของตัวเลขสุ่มแบบ uniform ระหว่าง 0 ถึง 1 โดยใช้ฟังก์ชัน runif() (docs)

หากมีชุดข้อมูล dframe ขนาด \(N\) และต้องการชุดข้อมูลย่อยแบบสุ่มที่มีขนาดประมาณ \(100 * X\)% ของ \(N\) (โดย \(X\) มีค่าระหว่าง 0 ถึง 1) ให้ทำดังนี้

  1. สร้างเวกเตอร์ของตัวเลขสุ่มแบบ uniform: gp = runif(N)
  2. dframe[gp < X,] จะได้ขนาดที่ใกล้เคียงที่ต้องการ
  3. dframe[gp >= X,] จะเป็นส่วนที่เหลือ

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

Supervised Learning ใน R: การถดถอย

ดูคอร์ส

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

  • ใช้ฟังก์ชัน nrow (docs) เพื่อดึงจำนวนแถวของ data frame mpg แล้วกำหนดค่านี้ให้กับตัวแปร N และแสดงผล
  • คำนวณว่า 75% ของ N มีค่าประมาณเท่าใด กำหนดให้กับตัวแปร target และแสดงผล
  • ใช้ runif() เพื่อสร้างเวกเตอร์ของตัวเลขสุ่มแบบ uniform จำนวน N ตัว โดยตั้งชื่อว่า gp
  • ใช้ gp เพื่อแบ่ง mpg ออกเป็น mpg_train และ mpg_test (โดย mpg_train มีข้อมูลประมาณ 75%)
  • ใช้ nrow() เพื่อตรวจสอบขนาดของ mpg_train และ mpg_test ว่าได้ขนาดที่ถูกต้องหรือไม่

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

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

# mpg is available
summary(mpg)
dim(mpg)

# Use nrow to get the number of rows in mpg (N) and print it
(N <- ___)

# Calculate how many rows 75% of N should be and print it
# Hint: use round() to get an integer
(target <- ___)

# Create the vector of N uniform random variables: gp
gp <- ___

# Use gp to create the training set: mpg_train (75% of data) and mpg_test (25% of data)
mpg_train <- ___
mpg_test <- ___

# Use nrow() to examine mpg_train and mpg_test
___
___
แก้ไขและรันโค้ด