- لماذا نحتاج إلى حفظ نموذج التعلم الآلي؟
- خطوات حفظ نموذج التعلم الآلي
- الملخص
كلما أردنا حل نفس المشكلة على مجموعة بيانات جديدة بنفس الميزات التي قمنا بحلها من قبل، يمكننا استخدام نفس نموذج التعلم الآلي machine learning model الذي دربناه سابقًا. ولكن لاستخدام نفس النموذج مرة أخرى، نحتاج إلى حفظ النموذج save the model. لذلك في هذه المقالة، سوف آخذك من خلال برنامج تعليمي حول كيفية حفظ نموذج التعلم الآلي باستخدام بايثون.
لماذا نحتاج إلى حفظ نموذج التعلم الآلي؟
بعد تدريب نموذج التعلم الآلي، يمكننا حفظه لاستخدام نفس النموذج مرة أخرى في المستقبل لاختباره على مجموعة بيانات جديدة أو مقارنة أدائه مع النماذج الأخرى. يمكننا أيضًا استخدام نموذج التعلم الآلي المحفوظ للنشر deploy في التطبيق النهائي.
هناك العديد من الطرق لحفظ نموذج التعلم الآلي. إذا لم تقم أبدًا بحفظ نموذج من قبل، فستتعلم في القسم أدناه كيفية حفظ نموذج التعلم الآلي وإعادة استخدامه reuse بسهولة باستخدام لغة برمجة بايثون.
خطوات حفظ نموذج التعلم الآلي
فيما يلي خطوات حفظ نموذج التعلم الآلي:
- أولا تدريب النموذج.
- ثم قم بتحويله إلى دفق بايت byte stream.
- احفظ دفق البايت كملف ثنائي.
كانت هذه هي الخطوات لحفظ نموذج التعلم الآلي. في لغة برمجة بايثون، يُعرف مفهوم تحويل نموذج التعلم الآلي إلى دفق بايت باسم pickling، وإذا كنت تريد استخدام النموذج المحفوظ مرة أخرى، فعليك تحويل ملف دفق البايت إلى نموذج تعلم آلي قابل للاستخدام وهو المعروف باسم unpickling.
دعنا الآن نرى كيفية حفظ نموذج التعلم الآلي. سأقوم هنا أولاً بتدريب نموذج الانحدار الخطي linear regression ثم سأحفظه باستخدام طريقة pickle في بايثون:
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.utils import shuffle
data = pd.read_csv("student-mat.csv")
data = data[["G1", "G2", "G3", "studytime", "failures", "absences"]]
predict = "G3"
x = np.array(data.drop([predict], 1))
y = np.array(data[predict])
from sklearn.model_selection import train_test_split
xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size=0.2)
linear_regression = LinearRegression()
linear_regression.fit(xtrain, ytrain)
import pickle
with open("pickle_model", "wb") as file:
pickle.dump(linear_regression, file)
لذلك قمنا بحفظ النموذج، يمكنك رؤية ملف جديد تم إنشاؤه باسم “pickle_model” في نفس الدليل حيث يوجد ملف بايثون الخاص بك. الآن إذا كنت تريد استخدام النموذج المحفوظ للتنبؤ بالقيم في مجموعة الاختبار، فيمكنك تشغيل الكود المذكور أدناه:
with open("pickle_model", "rb") as file:
model = pickle.load(file)
predictions = model.predict(xtest)
for i in range(len(predictions)):
print(predictions[x], xtest[x], [ytest[x]])
الملخص
لذا فهذه هي الطريقة التي يمكن بها حفظ نموذج التعلم الآلي بسهولة كدفق بايت حتى نتمكن من استخدامه في المستقبل في مجموعة بيانات جديدة. آمل أن تكون قد أحببت هذه المقالة حول خطوات حفظ نموذج التعلم الآلي باستخدام لغة برمجة بايثون.