Scikit-learn, thường được gọi là sklearn, là một thư viện trong Python dùng để triển khai các thuật toán học máy. Nó mạnh mẽ và 견固, vì cung cấp nhiều công cụ để thực hiện mô hình thống kê.
Điều này bao gồm phân loại, hồi quy, phân cụm, giảm chiều, và nhiều hơn nữa nhờ giao diện mạnh mẽ và ổn định trong Python. Được xây dựng dựa trên các thư viện NumPy, SciPy và Matplotlib.
Trước khi truyền dữ liệu đầu vào cho thuật toán học máy, dữ liệu phải được chia thành tập huấn luyện và tập kiểm tra.
Khi dữ liệu được huấn luyện trên mô hình đã chọn, tập dữ liệu đầu vào được huấn luyện trên mô hình này. Trong quá trình huấn luyện, mô hình học từ dữ liệu. Nó cũng học cách khái quát hóa trên dữ liệu mới. Tập kiểm tra sẽ không được sử dụng trong quá trình huấn luyện mô hình.
Sau khi tất cả các siêu tham số được điều chỉnh và trọng số tối ưu được thiết lập, tập kiểm tra được cung cấp cho thuật toán học máy. Đây là tập dữ liệu dùng để kiểm tra xem thuật toán khái quát hóa đến dữ liệu mới như thế nào. Hãy xem cách chia dữ liệu bằng thư viện scikit-learn.
Ví dụ
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
my_data = load_iris()
X = my_data.data
y = my_data.target
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=2
)
print("Kích thước đặc trưng dữ liệu huấn luyện:")
print(X_train.shape)
print("Kích thước đặc trưng dữ liệu kiểm tra:")
print(X_test.shape)
print("Kích thước giá trị mục tiêu dữ liệu huấn luyện:")
print(y_train.shape)
print("Kích thước giá trị mục tiêu dữ liệu kiểm tra:")
print(y_test.shape)
Đầu ra
Kích thước đặc trưng dữ liệu huấn luyện (120, 4) Kích thước đặc trưng dữ liệu kiểm tra (30, 4) Kích thước giá trị mục tiêu dữ liệu huấn luyện (120,) Kích thước giá trị mục tiêu dữ liệu kiểm tra (30,)
Giải thích
- Nhập các gói thư viện cần thiết.
- Tải tập dữ liệu cần thiết vào môi trường (ở đây là bộ dữ liệu Iris).
- Tách đặc trưng (features) và giá trị mục tiêu (target) từ tập dữ liệu.
- Chia dữ liệu huấn luyện và kiểm tra theo tỷ lệ 80% và 20% tương ứng.
- Điều này nghĩa là 20% dữ liệu sẽ dùng để kiểm tra khả năng khái quát hóa của mô hình trên dữ liệu mới.
- Các tập chia này, cùng với kích thước dữ liệu, được in ra console.
Lưu ý quan trọng: Tham số random_state đảm bảo tính tái lập (reproducibility) của việc chia dữ liệu. test_size=0.2 nghĩa là 20% dữ liệu dành cho kiểm tra, 80% còn lại cho huấn luyện.