Để chọn một trình phân loại được đào tạo trong Python bằng mô-đun 'dưa', chúng ta có thể làm theo một số bước đơn giản. Pickling cho phép chúng ta tuần tự hóa một đối tượng và lưu nó vào một tệp, tệp này có thể được tải và sử dụng sau này. Điều này đặc biệt hữu ích khi chúng ta muốn lưu một mô hình máy học đã được đào tạo, chẳng hạn như bộ phân loại hồi quy, để sử dụng trong tương lai mà không cần phải đào tạo lại nó mỗi lần.
Trước tiên, chúng ta cần nhập mô-đun 'dưa' trong tập lệnh Python của mình:
python import pickle
Tiếp theo, chúng ta cần đào tạo bộ phân loại của mình và lấy mô hình được đào tạo. Giả sử chúng ta đã đào tạo một bộ phân loại hồi quy và lưu trữ nó trong một biến có tên là 'regression_model'.
Để chọn mô hình được đào tạo, chúng ta có thể sử dụng chức năng 'pickle.dump()'. Hàm này nhận hai tham số: đối tượng mà chúng ta muốn chọn (trong trường hợp này là bộ phân loại được đào tạo) và đối tượng tệp mà chúng ta muốn lưu đối tượng đã chọn. Chúng ta có thể mở một tệp ở chế độ ghi nhị phân bằng hàm 'open()'.
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
Trong đoạn mã trên, chúng tôi mở một tệp có tên 'regression_model.pkl' ở chế độ ghi nhị phân ('wb') và chuyển nó làm tham số thứ hai cho 'pickle.dump()'. Trình phân loại được đào tạo, được lưu trữ trong biến 'regression_model', được chọn và lưu vào tệp.
Bây giờ, chúng tôi đã chọn thành công trình phân loại được đào tạo của mình. Chúng tôi có thể tải nó trở lại bộ nhớ bất cứ khi nào chúng tôi cần bằng chức năng 'pickle.load()'.
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
Trong đoạn mã trên, chúng tôi mở tệp được chọn ở chế độ đọc nhị phân ('rb') và chuyển nó làm tham số cho 'pickle.load()'. Đối tượng ngâm được tải vào biến 'loaded_model', có thể được sử dụng để dự đoán hoặc bất kỳ hoạt động nào khác.
Dưới đây là một ví dụ hoàn chỉnh minh họa việc chọn và tải một bộ phân loại hồi quy đã được đào tạo:
python import pickle from sklearn.linear_model import LinearRegression # Training the regression model X_train = [[1], [2], [3], [4], [5]] y_train = [2, 4, 6, 8, 10] regression_model = LinearRegression() regression_model.fit(X_train, y_train) # Pickling the trained model with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file) # Loading the pickled model with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file) # Using the loaded model for prediction X_test = [[6]] predicted_value = loaded_model.predict(X_test) print(predicted_value)
Trong ví dụ trên, trước tiên chúng tôi đào tạo một mô hình hồi quy tuyến tính đơn giản bằng cách sử dụng lớp 'LinearRegression' từ mô-đun 'sklearn.linear_model'. Sau đó, chúng tôi chọn mô hình được đào tạo vào một tệp có tên 'regression_model.pkl'. Sau đó, chúng tôi tải mô hình đã chọn từ tệp và sử dụng mô hình đó để dự đoán giá trị cho đầu vào thử nghiệm 'X_test'.
Bằng cách chọn lọc và tải trình phân loại đã được đào tạo, chúng ta có thể sử dụng lại mô hình mà không cần phải đào tạo lại mô hình, điều này có thể tiết kiệm đáng kể thời gian và tài nguyên tính toán.
Các câu hỏi và câu trả lời gần đây khác liên quan đến Học máy EITC/AI/MLP với Python:
- Máy vectơ hỗ trợ (SVM) là gì?
- Thuật toán K lân cận gần nhất có phù hợp để xây dựng các mô hình học máy có thể huấn luyện được không?
- Thuật toán đào tạo SVM có thường được sử dụng làm bộ phân loại tuyến tính nhị phân không?
- Thuật toán hồi quy có thể hoạt động với dữ liệu liên tục không?
- Hồi quy tuyến tính có đặc biệt phù hợp để mở rộng quy mô không?
- Làm thế nào để dịch chuyển băng thông động có nghĩa là điều chỉnh thích ứng tham số băng thông dựa trên mật độ của các điểm dữ liệu?
- Mục đích của việc gán trọng số cho các bộ tính năng trong triển khai băng thông động thay đổi trung bình là gì?
- Giá trị bán kính mới được xác định như thế nào trong cách tiếp cận băng thông động thay đổi trung bình?
- Làm cách nào để phương pháp tiếp cận băng thông động thay đổi trung bình xử lý việc tìm trọng tâm một cách chính xác mà không cần mã hóa bán kính cứng?
- Hạn chế của việc sử dụng bán kính cố định trong thuật toán dịch chuyển trung bình là gì?
Xem thêm câu hỏi và câu trả lời trong Học máy EITC/AI/MLP với Python
Thêm câu hỏi và câu trả lời:
- Cánh đồng: Trí tuệ nhân tạo
- chương trình: Học máy EITC/AI/MLP với Python (đi đến chương trình chứng nhận)
- Bài học: Hồi quy (đến bài học liên quan)
- Chủ đề: Tẩy và mở rộng quy mô (đi đến chủ đề liên quan)
- ôn thi