از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش ذخیره و بارگذاری مدل Scikit-Learn

سرفصلهای مطلب
ذخیره و بارگذاری مدلهای Scikit-Learn بخشی از چرخه عمر بیشتر مدلها است – معمولاً، شما آنها را در یک زمان اجرا آموزش میدهید و در زمان دیگری ارائه میکنید.
در این بایت – شما یاد خواهید گرفت که چگونه با استفاده از Scikit-Learn یک رگرسیور را ذخیره و بارگذاری کنید. ابتدا بیایید یک رگرسیور ساده بسازیم و آن را برازش کنیم:
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
from sklearn import ensemble
X, y = datasets.fetch_california_housing(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y)
scaler = MinMaxScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
model = ensemble.RandomForestRegressor().fit(X_train_scaled, y_train)
با مدل مناسب – بیایید جلو برویم و آن را ذخیره کنیم.
توجه داشته باشید: داده ها برای یادگیری مدل مقیاس بندی می شوند. میخواهید وضعیت این مقیاسکننده را نیز ذخیره کنید، و زمانی که از مدل برای استنتاج استفاده میشود، آن را برای پردازش دادهها بارگذاری کنید. برای کسب اطلاعات بیشتر در مورد ذخیره مقیاس ها – بخوانید “روش ذخیره و بارگیری مقیاسکنندههای Scikit-Learn Fit”!
ترشی
pickle
یک بسته سریال سازی عموماً محبوب و پرکاربرد است که می تواند به راحتی مدل های Scikit-Learn را ذخیره و بازیابی کند:
import pickle
print('Model score:', model.score(X_test_scaled, y_test))
pickle.dump(model, open('rfr_model.sav', 'wb'))
loaded_model = pickle.load(open('rfr_model.sav', 'rb'))
print('Loaded model score:', loaded_model.score(X_test_scaled, y_test))
این منجر به:
Model score: 0.7974923279678516
Loaded model score: 0.7974923279678516
Joblib
به طور کلی – joblib
با آرایههای بزرگتر سریعتر است، با این حال، برای بارگذاری و ذخیره مدلها، تفاوت عملی ندارد:
import joblib
print('Model score:', model.score(X_test_scaled, y_test))
joblib.dump(model, 'rfr_model.sav')
loaded_model = joblib.load('rfr_model.sav')
print('Loaded model score:', loaded_model.score(X_test_scaled, y_test))
این منجر به:
Model score: 0.7974923279678516
Loaded model score: 0.7974923279678516
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-05 20:40:03