لاختيار مصنف مدرب في بايثون باستخدام وحدة "pickle" ، يمكننا اتباع بعض الخطوات البسيطة. يسمح لنا Pickling بتسلسل كائن وحفظه في ملف ، والذي يمكن تحميله واستخدامه لاحقًا. يكون هذا مفيدًا بشكل خاص عندما نريد حفظ نموذج تعلم آلي مدرب ، مثل مصنف الانحدار ، للاستخدام في المستقبل دون الحاجة إلى إعادة تدريبه في كل مرة.
أولاً ، نحتاج إلى استيراد الوحدة النمطية "pickle" في برنامج Python النصي الخاص بنا:
python import pickle
بعد ذلك ، نحتاج إلى تدريب المصنف لدينا والحصول على النموذج المدرب. لنفترض أننا قمنا بالفعل بتدريب مصنف الانحدار وقمنا بتخزينه في متغير يسمى "regression_model".
لاختيار النموذج المدرب ، يمكننا استخدام وظيفة "pickle.dump ()". تأخذ هذه الوظيفة معلمتين: الكائن الذي نريد اختياره (في هذه الحالة ، المصنف المدرب) ، وكائن الملف حيث نريد حفظ الكائن المخلل. يمكننا فتح ملف في وضع الكتابة الثنائية باستخدام وظيفة "open ()".
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
في الكود أعلاه ، نفتح ملفًا باسم 'regression_model.pkl' في وضع الكتابة الثنائي ('wb') ونمرره كمعامل ثاني إلى 'pickle.dump ()'. المصنف المدرب ، المخزن في متغير "regression_model" ، يتم تخليله وحفظه في الملف.
الآن ، لقد نجحنا في تخليل المصنف المدرب لدينا. يمكننا إعادة تحميله إلى الذاكرة متى احتجنا إليه باستخدام وظيفة "pickle.load ()".
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
في الكود أعلاه ، نفتح الملف المخلل في وضع القراءة الثنائي ('rb') ونمرره كمعامل إلى 'pickle.load ()'. يتم تحميل الكائن المخلل في متغير "النموذج_المحمّل" ، والذي يمكن استخدامه للتنبؤ أو أي عمليات أخرى.
فيما يلي مثال كامل يوضح تخليل وتحميل مصنف الانحدار المدرّب:
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)
في المثال أعلاه ، قمنا أولاً بتدريب نموذج انحدار خطي بسيط باستخدام فئة "LinearRegression" من الوحدة النمطية "sklearn.linear_model". ثم ننتقي النموذج المدرب إلى ملف يسمى "regression_model.pkl". لاحقًا ، نقوم بتحميل النموذج المخلل من الملف ونستخدمه للتنبؤ بقيمة إدخال الاختبار "X_test".
من خلال تخليل وتحميل المصنف المدرب ، يمكننا إعادة استخدام النموذج دون الحاجة إلى إعادة تدريبه ، مما يوفر قدرًا كبيرًا من الوقت والموارد الحسابية.
أسئلة وأجوبة أخرى حديثة بخصوص التعلم الآلي EITC/AI/MLP باستخدام Python:
- ما هي آلة المتجه الداعمة (SVM)؟
- هل خوارزمية الجيران الأقرب K مناسبة تمامًا لبناء نماذج التعلم الآلي القابلة للتدريب؟
- هل خوارزمية تدريب SVM شائعة الاستخدام كمصنف خطي ثنائي؟
- هل يمكن لخوارزميات الانحدار العمل مع البيانات المستمرة؟
- هل الانحدار الخطي مناسب بشكل خاص للقياس؟
- كيف يعني تحويل عرض النطاق الترددي الديناميكي ضبط معلمة النطاق الترددي بشكل تكيفي بناءً على كثافة نقاط البيانات؟
- ما هو الغرض من تعيين أوزان لمجموعات الميزات في تنفيذ متوسط عرض النطاق الترددي الديناميكي؟
- كيف يتم تحديد قيمة نصف القطر الجديدة في نهج عرض النطاق الترددي الديناميكي المتوسط؟
- كيف يتعامل نهج عرض النطاق الترددي الديناميكي المتوسط مع العثور على النقط الوسطى بشكل صحيح دون ترميز نصف القطر الثابت؟
- ما حدود استخدام نصف قطر ثابت في خوارزمية متوسط التحول؟
عرض المزيد من الأسئلة والأجوبة في التعلم الآلي EITC/AI/MLP باستخدام Python