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 Show
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
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
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
Hãy thực hiện những phần này với một ví dụ Python3
train = df.sample(frac=0.8,random_state=0) test = df.drop(train.index)1 "Roll Number" 6import 1"Roll Number" 8import 1: [ 0import 1: [ 2import 1_______13_______4_______5_______1_______13_______13_______13_______13_______13_______13_______1
________số 8_______ đầu ra
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. |