'अचार' मोड्युल प्रयोग गरेर पाइथनमा प्रशिक्षित वर्गीकरणकर्तालाई अचार गर्न, हामी केही सरल चरणहरू पालना गर्न सक्छौं। Pickling ले हामीलाई वस्तुलाई क्रमबद्ध गर्न र फाइलमा बचत गर्न अनुमति दिन्छ, जुन पछि लोड र प्रयोग गर्न सकिन्छ। यो विशेष गरी उपयोगी हुन्छ जब हामी प्रशिक्षित मेसिन लर्निङ मोडेल बचत गर्न चाहन्छौं, जस्तै रिग्रेसन क्लासिफायर, भविष्यमा प्रयोगको लागि यसलाई हरेक पटक पुन: तालिम नदिईकन।
पहिले, हामीले हाम्रो पाइथन लिपिमा 'अचार' मोड्युल आयात गर्न आवश्यक छ:
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()' मा प्यारामिटरको रूपमा पास गर्छौं। पिक गरिएको वस्तु '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' को मूल्य भविष्यवाणी गर्न प्रयोग गर्छौं।
प्रशिक्षित क्लासिफायरलाई पिकलिंग र लोड गरेर, हामी मोडेललाई पुन: तालिम नगरी पुन: प्रयोग गर्न सक्छौं, जसले महत्त्वपूर्ण समय र कम्प्युटेसनल स्रोतहरू बचत गर्न सक्छ।
अन्य भर्खरका प्रश्न र उत्तरहरू सम्बन्धमा EITC/AI/MLP मेशिन शिक्षा पाइथनको साथ:
- सपोर्ट भेक्टर मेसिन (SVM) के हो?
- के K निकटतम छिमेकी एल्गोरिदम तालिम योग्य मेसिन लर्निङ मोडेलहरू निर्माण गर्नका लागि उपयुक्त छ?
- के SVM प्रशिक्षण एल्गोरिथ्म सामान्यतया बाइनरी रैखिक वर्गीकरणकर्ताको रूपमा प्रयोग गरिन्छ?
- के रिग्रेसन एल्गोरिदमले निरन्तर डाटासँग काम गर्न सक्छ?
- के रैखिक प्रतिगमन विशेष गरी स्केलिंगको लागि उपयुक्त छ?
- सिफ्ट डायनामिक ब्यान्डविथले डेटा पोइन्टहरूको घनत्वमा आधारित ब्यान्डविथ प्यारामिटरलाई कसरी अनुकूली रूपमा समायोजन गर्छ?
- मीन शिफ्ट डायनामिक ब्यान्डविथ कार्यान्वयनमा फिचर सेटहरूमा वजन तोक्ने उद्देश्य के हो?
- नयाँ त्रिज्या मान कसरी औसत शिफ्ट गतिशील ब्यान्डविथ दृष्टिकोणमा निर्धारण गरिन्छ?
- मिड शिफ्ट डायनामिक ब्यान्डविथ दृष्टिकोणले रेडियसलाई कडा कोडिङ नगरी सही रूपमा सेन्ट्रोइडहरू फेला पार्ने ह्यान्डल कसरी गर्छ?
- औसत शिफ्ट एल्गोरिथ्ममा निश्चित त्रिज्या प्रयोग गर्ने सीमा के हो?
EITC/AI/MLP Machine Learning with Python मा थप प्रश्न र उत्तरहरू हेर्नुहोस्