'আচার' মডিউল ব্যবহার করে পাইথনে একটি প্রশিক্ষিত শ্রেণিবিন্যাসকারীকে আচার করতে, আমরা কয়েকটি সহজ ধাপ অনুসরণ করতে পারি। পিকলিং আমাদের একটি বস্তুকে সিরিয়ালাইজ করতে এবং এটিকে একটি ফাইলে সংরক্ষণ করতে দেয়, যা পরে লোড এবং পরে ব্যবহার করা যেতে পারে। এটি বিশেষভাবে উপযোগী যখন আমরা একটি প্রশিক্ষিত মেশিন লার্নিং মডেল সংরক্ষণ করতে চাই, যেমন একটি রিগ্রেশন ক্লাসিফায়ার, ভবিষ্যতে ব্যবহারের জন্য প্রতিবার পুনরায় প্রশিক্ষণের প্রয়োজন ছাড়াই।
প্রথমত, আমাদের পাইথন স্ক্রিপ্টে 'আচার' মডিউল আমদানি করতে হবে:
python import pickle
এর পরে, আমাদের ক্লাসিফায়ারকে প্রশিক্ষণ দিতে হবে এবং প্রশিক্ষিত মডেল পেতে হবে। ধরা যাক আমরা ইতিমধ্যে একটি রিগ্রেশন ক্লাসিফায়ারকে প্রশিক্ষণ দিয়েছি এবং এটিকে 'রিগ্রেশন_মডেল' নামক একটি ভেরিয়েবলে সংরক্ষণ করেছি।
প্রশিক্ষিত মডেল আচার করতে, আমরা 'pickle.dump()' ফাংশন ব্যবহার করতে পারি। এই ফাংশনটি দুটি প্যারামিটার নেয়: যে বস্তুটিকে আমরা আচার করতে চাই (এই ক্ষেত্রে, প্রশিক্ষিত শ্রেণীবদ্ধকারী), এবং ফাইল অবজেক্ট যেখানে আমরা পিক করা বস্তুটি সংরক্ষণ করতে চাই। আমরা 'open()' ফাংশন ব্যবহার করে রাইট বাইনারি মোডে একটি ফাইল খুলতে পারি।
python with open('regression_model.pkl', 'wb') as file: pickle.dump(regression_model, file)
উপরের কোডে, আমরা লিখতে বাইনারি মোডে ('wb') 'regression_model.pkl' নামে একটি ফাইল খুলি এবং দ্বিতীয় প্যারামিটার হিসেবে 'pickle.dump()'-এ পাস করি। প্রশিক্ষিত ক্লাসিফায়ার, 'রিগ্রেশন_মডেল' ভেরিয়েবলে সংরক্ষিত, পিক করা হয় এবং ফাইলে সংরক্ষণ করা হয়।
এখন, আমরা সফলভাবে আমাদের প্রশিক্ষিত শ্রেণিবিন্যাসকারীকে বেছে নিয়েছি। '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)
উপরের উদাহরণে, আমরা প্রথমে 'sklearn.linear_model' মডিউল থেকে 'লিনিয়ার রিগ্রেশন' ক্লাস ব্যবহার করে একটি সাধারণ রৈখিক রিগ্রেশন মডেল প্রশিক্ষণ দিই। তারপর আমরা প্রশিক্ষিত মডেলটিকে 'regression_model.pkl' নামে একটি ফাইলে আচার করি। পরে, আমরা ফাইল থেকে পিক করা মডেলটি লোড করি এবং একটি টেস্ট ইনপুট 'X_test' এর মান অনুমান করতে এটি ব্যবহার করি।
প্রশিক্ষিত ক্লাসিফায়ারকে পিকিং এবং লোড করার মাধ্যমে, আমরা মডেলটিকে পুনরায় প্রশিক্ষণের প্রয়োজন ছাড়াই পুনরায় ব্যবহার করতে পারি, যা একটি উল্লেখযোগ্য পরিমাণ সময় এবং গণনামূলক সংস্থান বাঁচাতে পারে।
সম্পর্কিত অন্যান্য সাম্প্রতিক প্রশ্ন এবং উত্তর পাইথনের সাথে ইআইটিসি/এআই/এমএলপি মেশিন লার্নিং:
- সাপোর্ট ভেক্টর মেশিন (SVM) কি?
- K নিকটতম প্রতিবেশীদের অ্যালগরিদম কি প্রশিক্ষণযোগ্য মেশিন লার্নিং মডেল তৈরির জন্য উপযুক্ত?
- SVM প্রশিক্ষণ অ্যালগরিদম সাধারণত বাইনারি লিনিয়ার ক্লাসিফায়ার হিসাবে ব্যবহৃত হয়?
- রিগ্রেশন অ্যালগরিদম ক্রমাগত ডেটার সাথে কাজ করতে পারে?
- লিনিয়ার রিগ্রেশন কি স্কেলিং এর জন্য বিশেষভাবে উপযুক্ত?
- কিভাবে মানে শিফট ডাইনামিক ব্যান্ডউইথ ডাটা পয়েন্টের ঘনত্বের উপর ভিত্তি করে ব্যান্ডউইথ প্যারামিটারকে অভিযোজিতভাবে সামঞ্জস্য করে?
- গড় পরিবর্তনের গতিশীল ব্যান্ডউইথ বাস্তবায়নে বৈশিষ্ট্য সেটগুলিতে ওজন নির্ধারণের উদ্দেশ্য কী?
- গড় পরিবর্তন গতিশীল ব্যান্ডউইথ পদ্ধতিতে নতুন ব্যাসার্ধের মান কীভাবে নির্ধারণ করা হয়?
- কিভাবে গড় পরিবর্তন গতিশীল ব্যান্ডউইথ পদ্ধতি ব্যাসার্ধের কঠিন কোডিং ছাড়াই সঠিকভাবে সেন্ট্রোয়েড খুঁজে বের করে?
- গড় শিফট অ্যালগরিদমে একটি নির্দিষ্ট ব্যাসার্ধ ব্যবহার করার সীমাবদ্ধতা কি?
পাইথনের সাথে EITC/AI/MLP মেশিন লার্নিং-এ আরও প্রশ্ন ও উত্তর দেখুন