ชุดข้อมูล Training และ Test

การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

James Chapman

Curriculum Manager, DataCamp

ทำไมต้องแบ่งข้อมูล?

 

  1. ลด overfitting
  2. ประเมินประสิทธิภาพบน holdout set
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

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

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
   X_train y_train            
0      1.0       n
1      4.0       n
       ...
5      5.0       n
6      6.0       n

   X_test y_test
0     9.0      y
1     1.0      n
2     4.0      n
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

Stratified sampling

 

  • ชุดข้อมูล $100$ ตัวอย่าง: $80$ class 1 และ $20$ class 2
  • Training set $75$ ตัวอย่าง: $60$ class 1 และ $15$ class 2
  • Test set $25$ ตัวอย่าง: $20$ class 1 และ $5$ class 2
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

Stratified sampling

X_train,X_test,y_train,y_test = train_test_split(X, y, stratify=y, random_state=42)
y["labels"].value_counts()
class1    80
class2    20
Name: labels, dtype: int64
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

Stratified sampling

y_train["labels"].value_counts()
class1    60
class2    15
Name: labels, dtype: int64
y_test["labels"].value_counts()
class1    20
class2     5
Name: labels, dtype: int64
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

มาฝึกกันเถอะ!

การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python

Preparing Video For Download...