'اچار' ماڈیول کا استعمال کرتے ہوئے ازگر میں تربیت یافتہ کلاسیفائر کو اچار کرنے کے لیے، ہم چند آسان اقدامات پر عمل کر سکتے ہیں۔ اچار ہمیں کسی چیز کو سیریلائز کرنے اور اسے فائل میں محفوظ کرنے کی اجازت دیتا ہے، جسے بعد میں لوڈ اور استعمال کیا جا سکتا ہے۔ یہ خاص طور پر مفید ہے جب ہم تربیت یافتہ مشین لرننگ ماڈل کو محفوظ کرنا چاہتے ہیں، جیسے کہ ریگریشن کلاسیفائر، مستقبل کے استعمال کے لیے اسے ہر بار دوبارہ تربیت دینے کی ضرورت کے بغیر۔
سب سے پہلے، ہمیں اپنے Python اسکرپٹ میں 'pickle' ماڈیول درآمد کرنے کی ضرورت ہے:
python import pickle
اگلا، ہمیں اپنے درجہ بندی کرنے والے کو تربیت دینے اور تربیت یافتہ ماڈل حاصل کرنے کی ضرورت ہے۔ آئیے فرض کریں کہ ہم نے پہلے ہی ایک ریگریشن کلاسیفائر کو تربیت دی ہے اور اسے ایک متغیر میں محفوظ کیا ہے جسے 'regression_model' کہتے ہیں۔
تربیت یافتہ ماڈل کو اچار کرنے کے لیے، ہم 'pickle.dump()' فنکشن استعمال کر سکتے ہیں۔ یہ فنکشن دو پیرامیٹرز لیتا ہے: جس چیز کو ہم اچار کرنا چاہتے ہیں (اس معاملے میں، تربیت یافتہ درجہ بندی کرنے والا)، اور فائل آبجیکٹ جہاں ہم اچار والی چیز کو محفوظ کرنا چاہتے ہیں۔ ہم 'اوپن()' فنکشن کا استعمال کرتے ہوئے رائٹ بائنری موڈ میں فائل کھول سکتے ہیں۔
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
مندرجہ بالا کوڈ میں، ہم رائٹ بائنری موڈ ('wb') میں 'regression_model.pkl' نام کی فائل کھولتے ہیں اور اسے دوسرے پیرامیٹر کے طور پر 'pickle.dump()' میں منتقل کرتے ہیں۔ تربیت یافتہ درجہ بندی، 'regression_model' متغیر میں ذخیرہ کیا جاتا ہے، اچار بنا کر فائل میں محفوظ کیا جاتا ہے۔
اب، ہم نے اپنے تربیت یافتہ درجہ بندی کو کامیابی کے ساتھ چن لیا ہے۔ 'pickle.load()' فنکشن کا استعمال کرتے ہوئے جب بھی ہمیں اس کی ضرورت ہو ہم اسے واپس میموری میں لوڈ کر سکتے ہیں۔
python with open('regression_model.pkl', 'rb') as file: loaded_model = pickle.load(file)
مندرجہ بالا کوڈ میں، ہم اچار والی فائل کو ریڈ بائنری موڈ ('rb') میں کھولتے ہیں اور اسے پیرامیٹر کے طور پر 'pickle.load()' میں منتقل کرتے ہیں۔ اچار والی چیز کو 'loaded_model' متغیر میں لوڈ کیا جاتا ہے، جو پیشین گوئی یا کسی دوسرے کام کے لیے استعمال کیا جا سکتا ہے۔
یہاں ایک تربیت یافتہ ریگریشن درجہ بندی کے اچار اور لوڈنگ کا مظاہرہ کرنے کی ایک مکمل مثال ہے۔
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)
مندرجہ بالا مثال میں، ہم سب سے پہلے 'sklearn.linear_model' ماڈیول سے 'LinearRegression' کلاس کا استعمال کرتے ہوئے ایک سادہ لکیری ریگریشن ماڈل کو تربیت دیتے ہیں۔ پھر ہم تربیت یافتہ ماڈل کو 'regression_model.pkl' نامی فائل میں اچار کرتے ہیں۔ بعد میں، ہم فائل سے اچار والے ماڈل کو لوڈ کرتے ہیں اور اسے ٹیسٹ ان پٹ 'X_test' کی قیمت کا اندازہ لگانے کے لیے استعمال کرتے ہیں۔
تربیت یافتہ درجہ بندی کرنے والے کو اچار اور لوڈ کرکے، ہم ماڈل کو دوبارہ تربیت دینے کی ضرورت کے بغیر دوبارہ استعمال کرسکتے ہیں، جس سے وقت اور کمپیوٹیشنل وسائل کی ایک خاصی بچت ہوسکتی ہے۔
سے متعلق دیگر حالیہ سوالات اور جوابات ازگر کے ساتھ ای آئی ٹی سی/اے آئی/ایم ایل پی مشین لرننگ:
- سپورٹ ویکٹر مشین (SVM) کیا ہے؟
- کیا K قریب ترین پڑوسی الگورتھم قابل تربیت مشین لرننگ ماڈلز بنانے کے لیے موزوں ہے؟
- کیا SVM ٹریننگ الگورتھم عام طور پر بائنری لکیری درجہ بندی کے طور پر استعمال ہوتا ہے؟
- کیا ریگریشن الگورتھم مسلسل ڈیٹا کے ساتھ کام کر سکتے ہیں؟
- کیا لکیری رجعت خاص طور پر اسکیلنگ کے لیے موزوں ہے؟
- مطلب شفٹ ڈائنامک بینڈوڈتھ ڈیٹا پوائنٹس کی کثافت کی بنیاد پر بینڈوتھ پیرامیٹر کو موافقت کے ساتھ کیسے ایڈجسٹ کرتا ہے؟
- اوسط شفٹ ڈائنامک بینڈوڈتھ کے نفاذ میں فیچر سیٹ کو وزن تفویض کرنے کا مقصد کیا ہے؟
- وسط شفٹ ڈائنامک بینڈوڈتھ اپروچ میں نئے رداس کی قدر کا تعین کیسے کیا جاتا ہے؟
- وسط شفٹ ڈائنامک بینڈوڈتھ اپروچ رداس کو سخت کوڈنگ کیے بغیر سنٹرائڈز کو صحیح طریقے سے ڈھونڈنے کو کیسے ہینڈل کرتا ہے؟
- اوسط شفٹ الگورتھم میں ایک مقررہ رداس استعمال کرنے کی کیا حد ہے؟
مزید سوالات اور جوابات EITC/AI/MLP Machine Learning with Python میں دیکھیں