วิธีใช้ฟังก์ชัน createdatapartition() ใน r


คุณสามารถใช้ฟังก์ชัน createDataPartition() ของแพ็คเกจ คาเร็ต ใน R เพื่อแบ่งพาร์ติชันเฟรมข้อมูลออกเป็นชุดการฝึกและการทดสอบสำหรับการสร้างแบบจำลอง

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

createDataPartition(y, ครั้ง = 1, p = 0.5, รายการ = TRUE, …)

ทอง:

  • y : เวกเตอร์ของผลลัพธ์
  • times : จำนวนพาร์ติชันที่จะสร้าง
  • p : เปอร์เซ็นต์ของข้อมูลที่จะใช้ในชุดการฝึก
  • list : จะเก็บผลลัพธ์ไว้ในรายการหรือไม่

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

ตัวอย่าง: การใช้ createDataPartition() ใน R

สมมติว่าเรามีกรอบข้อมูลใน R ซึ่งมี 1,000 แถวที่มีข้อมูลเกี่ยวกับ ชั่วโมง ที่นักเรียนเรียนและ คะแนน ที่สอดคล้องกันในการสอบปลายภาค:

 #make this example reproducible
set. seeds (0)

#create data frame
df <- data. frame (hours=runif(1000, min=0, max=10),
                 score=runif(1000, min=40, max=100))

#view head of data frame
head(df)

     hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
6 2.016819 47.10139

สมมติว่าเราต้องการปรับ โมเดลการถดถอยเชิงเส้นอย่างง่าย ซึ่งใช้เวลาศึกษามาทำนายเกรดการสอบปลายภาค

สมมติว่าเราต้องการฝึกโมเดลบน 80% ของแถวใน data frame และทดสอบกับ 20% ที่เหลือของแถว

รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน createDataPartition() ของแพ็คเกจ คาเร็ต เพื่อแบ่งกรอบข้อมูลออกเป็นชุดการฝึกและการทดสอบ:

 library (caret)

#partition data frame into training and testing sets
train_indices <- createDataPartition(df$score, times= 1 , p= .8 , list= FALSE )

#create training set
df_train <- df[train_indices, ]

#create testing set
df_test <- df[-train_indices, ]

#view number of rows in each set
nrow(df_train)

[1] 800

nrow(df_test)

[1] 200

เราจะเห็นว่าชุดข้อมูลการฝึกอบรมของเรามี 800 แถว ซึ่งคิดเป็น 80% ของชุดข้อมูลดั้งเดิม

ในทำนองเดียวกัน เราจะเห็นว่าชุดข้อมูลทดสอบของเรามี 200 แถว ซึ่งคิดเป็น 20% ของชุดข้อมูลดั้งเดิม

นอกจากนี้เรายังสามารถเห็นภาพบรรทัดแรกของแต่ละชุด:

 #view head of training set
head(df_train)

     hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
7 8.983897 42.34600

#view head of testing set
head(df_test)

      hours score
6 2.016819 47.10139
12 2.059746 96.67170
18 7.176185 92.61150
23 2.121425 89.17611
24 6.516738 50.47970
25 1.255551 90.58483

จากนั้นเราสามารถดำเนินการฝึกโมเดลการถดถอยโดยใช้ชุดการฝึกและประเมินประสิทธิภาพโดยใช้ชุดทดสอบ

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีใช้ฟังก์ชันทั่วไปอื่นๆ ใน R:

วิธีดำเนินการตรวจสอบข้าม K-Fold ใน R
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน R
วิธีดำเนินการถดถอยโลจิสติกใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *