'अचार' मॉड्यूल का उपयोग करके पायथन में एक प्रशिक्षित क्लासिफायरियर को चुनने के लिए, हम कुछ सरल चरणों का पालन कर सकते हैं। पिकलिंग हमें किसी ऑब्जेक्ट को क्रमबद्ध करने और उसे एक फ़ाइल में सहेजने की अनुमति देता है, जिसे बाद में लोड और उपयोग किया जा सकता है। यह विशेष रूप से तब उपयोगी होता है जब हम एक प्रशिक्षित मशीन लर्निंग मॉडल, जैसे कि रिग्रेशन क्लासिफायर, को हर बार फिर से प्रशिक्षित करने की आवश्यकता के बिना भविष्य में उपयोग के लिए सहेजना चाहते हैं।
सबसे पहले, हमें अपनी पायथन लिपि में 'अचार' मॉड्यूल को आयात करने की आवश्यकता है:
python import pickle
इसके बाद, हमें अपने क्लासिफायरियर को प्रशिक्षित करने और प्रशिक्षित मॉडल प्राप्त करने की आवश्यकता है। आइए मान लें कि हमने पहले से ही एक रिग्रेशन क्लासिफायरियर को प्रशिक्षित किया है और इसे 'रिग्रेशन_मॉडल' नामक एक वेरिएबल में संग्रहीत किया है।
प्रशिक्षित मॉडल को अचार बनाने के लिए, हम 'pickle.dump()' फ़ंक्शन का उपयोग कर सकते हैं। यह फ़ंक्शन दो पैरामीटर लेता है: वह ऑब्जेक्ट जिसे हम पिकल करना चाहते हैं (इस मामले में, प्रशिक्षित क्लासिफायरियर), और फ़ाइल ऑब्जेक्ट जहां हम पिकल ऑब्जेक्ट को सहेजना चाहते हैं। हम 'ओपन()' फ़ंक्शन का उपयोग करके राइट बाइनरी मोड में एक फ़ाइल खोल सकते हैं।
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)
उपरोक्त कोड में, हम पिकल्ड फ़ाइल को रीड बाइनरी मोड ('आरबी') में खोलते हैं और इसे 'पिकल.लोड()' के पैरामीटर के रूप में पास करते हैं। पिकल्ड ऑब्जेक्ट को 'लोडेड_मॉडल' वेरिएबल में लोड किया जाता है, जिसका उपयोग भविष्यवाणी या किसी अन्य ऑपरेशन के लिए किया जा सकता है।
यहां एक प्रशिक्षित प्रतिगमन क्लासिफायरियर के अचार बनाने और लोड करने का प्रदर्शन करने वाला एक पूरा उदाहरण दिया गया है:
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' के मूल्य की भविष्यवाणी करने के लिए इसका उपयोग करते हैं।
प्रशिक्षित क्लासिफायर को चुनकर और लोड करके, हम मॉडल को दोबारा प्रशिक्षित किए बिना उसका पुन: उपयोग कर सकते हैं, जिससे महत्वपूर्ण मात्रा में समय और कम्प्यूटेशनल संसाधनों की बचत हो सकती है।
संबंधित अन्य हालिया प्रश्न और उत्तर पायथन के साथ EITC/AI/MLP मशीन लर्निंग:
- सपोर्ट वेक्टर मशीन (एसवीएम) क्या है?
- क्या K निकटतम पड़ोसी एल्गोरिदम प्रशिक्षण योग्य मशीन लर्निंग मॉडल बनाने के लिए उपयुक्त है?
- क्या एसवीएम प्रशिक्षण एल्गोरिदम आमतौर पर बाइनरी लीनियर क्लासिफायरियर के रूप में उपयोग किया जाता है?
- क्या प्रतिगमन एल्गोरिदम निरंतर डेटा के साथ काम कर सकता है?
- क्या रैखिक प्रतिगमन स्केलिंग के लिए विशेष रूप से उपयुक्त है?
- माध्य शिफ्ट डायनेमिक बैंडविड्थ डेटा बिंदुओं के घनत्व के आधार पर बैंडविड्थ पैरामीटर को अनुकूल रूप से कैसे समायोजित करता है?
- माध्य शिफ्ट डायनेमिक बैंडविड्थ कार्यान्वयन में फीचर सेट को भार निर्दिष्ट करने का उद्देश्य क्या है?
- माध्य शिफ्ट डायनेमिक बैंडविड्थ दृष्टिकोण में नया त्रिज्या मान कैसे निर्धारित किया जाता है?
- माध्य शिफ्ट डायनेमिक बैंडविड्थ दृष्टिकोण त्रिज्या को हार्ड कोडिंग के बिना सेंट्रोइड को सही ढंग से खोजने का प्रबंधन कैसे करता है?
- माध्य शिफ्ट एल्गोरिथ्म में एक निश्चित त्रिज्या का उपयोग करने की सीमा क्या है?
पायथन के साथ ईआईटीसी/एआई/एमएलपी मशीन लर्निंग में अधिक प्रश्न और उत्तर देखें