Làm cách nào để bạn tách một khung dữ liệu đào tạo và kiểm tra dữ liệu trong python?

2. Bộ kiểm tra. Được sử dụng để có ước tính khách quan về hiệu suất của mô hình (20-30% tập dữ liệu gốc)

Trong Python, có hai cách phổ biến để chia DataFrame của gấu trúc thành tập huấn luyện và tập kiểm tra

Phương pháp 1. Sử dụng train_test_split() từ sklearn

from sklearn.model_selection import train_test_split

train, test = train_test_split(df, test_size=0.2, random_state=0)

Phương pháp 2. Sử dụng mẫu() từ gấu trúc

train = df.sample(frac=0.8,random_state=0)
test = df.drop(train.index)

Các ví dụ sau đây cho thấy cách sử dụng từng phương thức với DataFrame của gấu trúc sau đây

import pandas as pd
import numpy as np

#make this example reproducible
np.random.seed(1)

#create DataFrame with 1,000 rows and 3 columns
df = pd.DataFrame({'x1': np.random.randint(30, size=1000),
                   'x2': np.random.randint(12, size=1000),
                   'y': np.random.randint(2, size=1000)})

#view first few rows of DataFrame
df.head()

        x1	x2	y
0	5	1	1
1	11	8	0
2	12	4	1
3	8	7	0
4	9	0	0

ví dụ 1. Sử dụng train_test_split() từ sklearn

Đoạn mã sau cho biết cách sử dụng hàm train_test_split() từ sklearn để chia DataFrame của gấu trúc thành các tập huấn luyện và kiểm tra

from sklearn.model_selection import train_test_split

#split original DataFrame into training and testing sets
train, test = train_test_split(df, test_size=0.2, random_state=0)

#view first few rows of each set
print(train.head())

     x1  x2  y
687  16   2  0
500  18   2  1
332   4  10  1
979   2   8  1
817  11   1  0

print(test.head())

     x1  x2  y
993  22   1  1
859  27   6  0
298  27   8  1
553  20   6  0
672   9   2  1

#print size of each set
print(train.shape, test.shape)

(800, 3) (200, 3)

Từ đầu ra, chúng ta có thể thấy rằng hai bộ đã được tạo

  • Tập huấn luyện. 800 hàng và 3 cột
  • bộ kiểm tra. 200 hàng và 3 cột

Lưu ý rằng test_size kiểm soát tỷ lệ phần trăm quan sát từ DataFrame ban đầu sẽ thuộc về bộ thử nghiệm và giá trị random_state làm cho quá trình phân tách có thể tái tạo được

ví dụ 2. Sử dụng mẫu() từ gấu trúc

Đoạn mã sau cho biết cách sử dụng hàm sample() từ gấu trúc để phân chia DataFrame của gấu trúc thành các tập huấn luyện và kiểm tra

#split original DataFrame into training and testing sets
train = df.sample(frac=0.8,random_state=0)
test = df.drop(train.index)

#view first few rows of each set
print(train.head())

     x1  x2  y
993  22   1  1
859  27   6  0
298  27   8  1
553  20   6  0
672   9   2  1

print(test.head())

    x1  x2  y
9   16   5  0
11  12  10  0
19   5   9  0
23  28   1  1
28  18   0  1

#print size of each set
print(train.shape, test.shape)

(800, 3) (200, 3)

Từ đầu ra, chúng ta có thể thấy rằng hai bộ đã được tạo

  • Tập huấn luyện. 800 hàng và 3 cột
  • bộ kiểm tra. 200 hàng và 3 cột

Lưu ý rằng frac kiểm soát tỷ lệ phần trăm quan sát từ DataFrame gốc sẽ thuộc về tập huấn luyện và giá trị random_state làm cho quá trình phân tách có thể tái tạo được

Ở đây chúng ta sẽ tìm hiểu cách chia tập dữ liệu thành tập Huấn luyện và Kiểm tra trong Python mà không cần sử dụng sklearn. Khái niệm chính sẽ được sử dụng ở đây sẽ được cắt lát. Chúng ta có thể sử dụng các chức năng cắt để chia dữ liệu thành các phần riêng biệt (đào tạo và kiểm tra). Nếu chúng tôi sử dụng sklearn, nhiệm vụ này rất dễ dàng nhưng có thể hơi tẻ nhạt trong trường hợp chúng tôi không được phép sử dụng sklearn

Các bước để chia dữ liệu thành đào tạo và thử nghiệm

  1. Tạo Tập dữ liệu hoặc tạo khung dữ liệu bằng Pandas
  2. Xáo trộn khung dữ liệu bằng chức năng mẫu của Pandas
  3. Chọn tỷ lệ để chia khung dữ liệu thành các tập kiểm tra và huấn luyện
  4. Tách các khung dữ liệu thành các khung dữ liệu huấn luyện và kiểm tra bằng cách cắt
  5. Tính tổng số hàng trong khung dữ liệu bằng chức năng hình dạng của Pandas

Hãy thực hiện những phần này với một ví dụ

Python3




import pandas as pd

 

# Creating sample dataset

df= pd.DataFrame({

    "Roll Number": [import0_______5_______1import2import1import4import1import6import1import8import1pandas as pd0import1pandas as pd2import1pandas as pd4_______5_______1_______6_______6_______5_______1_______6_______9_______

    7_______1: [___# Creating sample dataset3_______5_______1# Creating sample dataset5import1# Creating sample dataset7import1# Creating sample dataset9import1

df1df2import1_______8_______4import1df6import1df8import1=0import1=2pandas as pd9

    9_______5_______13__________=7import1=9import1pd.DataFrame({1import1pd.DataFrame({3import1pd.DataFrame({5import1pd.DataFrame({7import1pd.DataFrame({9import1_______10_______5_______5_______1_______10_______7_______10__5_______

    11_______8: [12_______0import1"Roll Number"2import1"Roll Number"4

train = df.sample(frac=0.8,random_state=0)
test = df.drop(train.index)
1"Roll Number"6import1"Roll Number"8import1: [0import1: [2import1_______13_______4_______5_______1_______13_______13_______13_______13_______13_______13_______1

import00

________số 8_______

đầu ra

Làm cách nào để bạn tách một khung dữ liệu đào tạo và kiểm tra dữ liệu trong python?

 

Một trong những thách thức khi chia tách dữ liệu là chúng tôi muốn chọn ngẫu nhiên các hàng để đào tạo cũng như dữ liệu đào tạo. Chức năng này có thể đạt được bằng cách sử dụng phương thức sample() như bên dưới

Làm cách nào để chia DataFrame thành tập huấn luyện và kiểm tra bằng Python?

Các bước để phân chia dữ liệu thành huấn luyện và thử nghiệm. Tạo Tập dữ liệu hoặc tạo khung dữ liệu bằng Pandas. Xáo trộn khung dữ liệu bằng chức năng mẫu của Pandas. Chọn tỷ lệ để chia khung dữ liệu thành các tập kiểm tra và huấn luyện.

Việc phân tách kiểm tra đào tạo có hoạt động trên Dataframe không?

May mắn thay, hàm train_test_split của thư viện sklearn có thể xử lý Pandas Dataframes cũng như mảng .

Làm cách nào để phân chia dữ liệu thành đào tạo và thử nghiệm trong Python mà không cần sklearn?

Cách chia dữ liệu thành phần đào tạo và thử nghiệm trong Python mà không cần. .
Nhập khẩu các gói
Tải tập dữ liệu
Xáo trộn tập dữ liệu
Tách tập dữ liệu

Làm thế nào bạn phân vùng dữ liệu tập huấn luyện và kiểm tra?

Phân vùng dữ liệu . g. , 70% dữ liệu được sử dụng làm tập huấn luyện và 30% dữ liệu được sử dụng làm tập kiểm tra. partitioning of the data into a training set and a test set in a specific ratio, e.g., 70% of the data are used as the training set and 30% of the data are used as the test set.