Trong bài viết này, hãy tìm hiểu cách lưu và tải mô hình máy học của bạn bằng Python với scikit-learning trong hướng dẫn này
Khi chúng tôi tạo mô hình học máy, công việc của chúng tôi không kết thúc ở đó. Chúng ta có thể lưu mô hình để sử dụng trong tương lai. Chúng ta có thể sử dụng pickle hoặc thư viện joblib cho mục đích này. Phương thức kết xuất được sử dụng để tạo mô hình và phương thức tải được sử dụng để tải và sử dụng mô hình kết xuất. Bây giờ hãy chứng minh làm thế nào để làm điều đó. Các phương thức lưu và tải của cả pickle và joblib đều có cùng tham số
cú pháp của phương thức dump[]
dưa chua. dump[obj, file, protocol=None, *, fix_imports=True, buffer_callback=None]
thông số
- đối tượng. Đối tượng Python ngâm
- tập tin. Đối tượng được ngâm sẽ được ghi vào tệp hoặc bộ đệm
- fix_imports. Khi được cung cấp, phương thức dump[] sẽ xác định xem quy trình tẩy có tương thích với Python phiên bản 2 hay không dựa trên giá trị cho tùy chọn giao thức tẩy. True là giá trị mặc định. Chỉ nên sử dụng một cặp tên-giá trị với thông số mặc định này
cú pháp của phương thức load[]
dưa chua. tải [tệp, *, fix_imports=True, mã hóa='ASCII', lỗi='strict', bộ đệm=Không]
Phương thức load[] Trả về hệ thống phân cấp đối tượng được xây dựng lại được chỉ ra trong đó sau khi đọc biểu diễn được chọn lọc của một đối tượng từ tệp đối tượng tệp đang mở
ví dụ 1. Lưu và tải mô hình bằng dưa chua
Phương thức mặc định của Python để tuần tự hóa các đối tượng là một dưa chua. Các thuật toán máy học của bạn có thể được mã hóa/mã hóa theo trình tự bằng cách sử dụng quy trình chọn lọc và sau đó, định dạng được tuần tự hóa có thể được lưu vào một tệp. Khi bạn muốn giải tuần tự hóa/giải mã mô hình của mình và sử dụng mô hình đó để đưa ra các dự đoán mới, bạn có thể tải tệp này sau. Việc đào tạo mô hình hồi quy tuyến tính được thể hiện trong ví dụ sau. Trong ví dụ bên dưới, chúng tôi khớp dữ liệu với dữ liệu huấn luyện và phương thức dump[] được sử dụng để tạo một mô hình. Phương thức kết xuất lấy trong mô hình học máy và một tệp được cung cấp. Dữ liệu thử nghiệm được sử dụng để tìm dự đoán sau khi tải mô hình bằng phương thức load[]. thước đo lỗi bình phương trung bình gốc được sử dụng để đánh giá các dự đoán của mô hình
Python3
# import packages
import
pandas as pd
import
numpy as np
import
matplotlib.pyplot as plt
from
root mean squared error : 72.115292871828150
import
root mean squared error : 72.115292871828152
from
root mean squared error : 72.115292871828154
import
root mean squared error : 72.115292871828156
from
root mean squared error : 72.115292871828158
import
# import packages
0import
# import packages
2
# import packages
3
# import packages
4
# import packages
5_______6_______6 # import packages
7# import packages
8_______6_______9
# import packages
3
import
1_______6_______6 import
3import
4_______7_______5import
6
import
7_______6_______6 import
9import
4import
5import
6
# import packages
3
pandas as pd
4
pandas as pd
5_______6_______6 pandas as pd
7
pandas as pd
8pandas as pd
9# import packages
6_______7_______1_______7_______2# import packages
6import
4_______6_______9
# import packages
3
import
7
import
8# import packages
6 numpy as np
0
numpy as np
1
# import packages
3
# import packages
3
numpy as np
4
numpy as np
5# import packages
6 numpy as np
7
numpy as np
8numpy as np
9import
0import
1import
2
# import packages
3
import
4
import
5# import packages
6 import
7numpy as np
9import
0matplotlib.pyplot as plt
0import
2
# import packages
3
matplotlib.pyplot as plt
3____6_______6 matplotlib.pyplot as plt
5
matplotlib.pyplot as plt
6_______12_______7matplotlib.pyplot as plt
8matplotlib.pyplot as plt
9
pandas as pd
8from
1
đầu ra
root mean squared error : 72.11529287182815
ví dụ 2. Lưu và tải mô hình bằng joblib
Hệ sinh thái SciPy bao gồm Joblib, nơi cung cấp các công cụ để sắp xếp các công việc Python. Nó cung cấp các công cụ để lưu và tải hiệu quả các đối tượng Python sử dụng cấu trúc dữ liệu NumPy. Điều này có thể hữu ích cho các thuật toán học máy cần lưu trữ tập dữ liệu hoàn chỉnh hoặc có nhiều tham số. hãy xem một ví dụ đơn giản nơi chúng tôi lưu và tải mô hình hồi quy tuyến tính. Các bước tương tự được lặp lại khi sử dụng thư viện joblib