sklearnঅনুমানকারীরা কোনও প্রাক্কলনকারীর প্রাসঙ্গিক প্রশিক্ষিত সম্পত্তি সংরক্ষণ করা আপনার পক্ষে সহজ করার জন্য পদ্ধতিগুলি প্রয়োগ করে। কিছু অনুমানকারী __getstate__পদ্ধতিগুলি নিজেরাই প্রয়োগ করে, তবে অন্যরা যেমন বেস প্রয়োগের মত GMMব্যবহার করে যা কেবলমাত্র বস্তুর অভ্যন্তরীণ অভিধান সংরক্ষণ করে:
def __getstate__(self):
try:
state = super(BaseEstimator, self).__getstate__()
except AttributeError:
state = self.__dict__.copy()
if type(self).__module__.startswith('sklearn.'):
return dict(state.items(), _sklearn_version=__version__)
else:
return state
আপনার মডেলটিকে ডিস্কে সংরক্ষণ করার প্রস্তাবিত পদ্ধতিটি হল pickleমডিউলটি ব্যবহার করা :
from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
X = iris.data[:100, :2]
y = iris.target[:100]
model = SVC()
model.fit(X,y)
import pickle
with open('mymodel','wb') as f:
pickle.dump(model,f)
তবে আপনার অতিরিক্ত ডেটা সংরক্ষণ করা উচিত যাতে ভবিষ্যতে আপনি আপনার মডেলটি পুনরায় প্রশিক্ষণ করতে পারেন বা মারাত্মক পরিণতি ভোগ করতে পারেন (যেমন স্কেলের্নের পুরানো সংস্করণে লক হওয়া) ।
ডকুমেন্টেশন থেকে :
ভবিষ্যতের সংস্করণ-বিজ্ঞানের সাথে একই ধরণের মডেলটি পুনঃনির্মাণ করতে, অতিরিক্ত মেটাডেটা বাছাই করা মডেলের পাশাপাশি সংরক্ষণ করা উচিত:
প্রশিক্ষণ ডেটা, যেমন একটি অপরিবর্তনীয় স্ন্যাপশটের একটি রেফারেন্স
অজগর উত্স কোডটি মডেল তৈরি করতে ব্যবহৃত হয়
সাইকিট-লার্নের সংস্করণ এবং এর নির্ভরতা
প্রশিক্ষণ ডেটাতে ক্রস বৈধকরণ স্কোর প্রাপ্ত
এটি এনসেম্বল অনুমানকারীদের ক্ষেত্রে বিশেষভাবে সত্য যা tree.pyxসাইথনে লিখিত মডিউলের উপর নির্ভর করে (যেমন IsolationForest), যেহেতু এটি বাস্তবায়নের সংযোগ তৈরি করে, যা স্কেলার্ন সংস্করণগুলির মধ্যে স্থিতিশীল হওয়ার গ্যারান্টিযুক্ত নয়। এটি অতীতে পিছনে পিছনে অসম্পূর্ণ পরিবর্তনগুলি দেখেছিল।
যদি আপনার মডেলগুলি খুব বড় হয়ে যায় এবং লোডিং উপদ্রব হয়ে যায়, আপনি আরও দক্ষতার সাথে ব্যবহার করতে পারেন joblib। ডকুমেন্টেশন থেকে:
সাইকিটের নির্দিষ্ট ক্ষেত্রে জবলিবকে pickle( joblib.dump& joblib.load) প্রতিস্থাপনের ব্যবহারটি আরও আকর্ষণীয় হতে পারে , যা অভ্যন্তরীণভাবে বড় আকারের ন্যাপী অ্যারে বহন করে এমন বস্তুগুলির উপর আরও দক্ষ, কারণ এটি প্রায়শই ফিট সাইকিট-শিখার অনুমানকারীদের ক্ষেত্রে হয় তবে কেবল আচার তৈরি করতে পারে ডিস্কে এবং স্ট্রিংয়ের কাছে নয়: