# मेसिन लर्निङका प्रविधिहरू मेसिन लर्निङ मोडेलहरू निर्माण, प्रयोग, र मर्मत गर्ने प्रक्रिया तथा तिनीहरूले प्रयोग गर्ने डाटा अन्य विकास कार्यप्रवाहहरू भन्दा धेरै फरक छ। यस पाठमा, हामी यस प्रक्रियालाई स्पष्ट पार्नेछौं र तपाईंलाई जान्न आवश्यक मुख्य प्रविधिहरूको रूपरेखा प्रस्तुत गर्नेछौं। तपाईं: - मेसिन लर्निङको आधारभूत प्रक्रियाहरू उच्च स्तरमा बुझ्नुहुनेछ। - 'मोडेल', 'पूर्वानुमान', र 'प्रशिक्षण डाटा' जस्ता आधारभूत अवधारणाहरू अन्वेषण गर्नुहुनेछ। ## [पाठ अघि क्विज](https://ff-quizzes.netlify.app/en/ml/) [![मेसिन लर्निङका प्रविधिहरू - सुरुवात](https://img.youtube.com/vi/4NGM0U2ZSHU/0.jpg)](https://youtu.be/4NGM0U2ZSHU "मेसिन लर्निङका प्रविधिहरू - सुरुवात") > 🎥 माथिको तस्बिरमा क्लिक गरेर यस पाठको छोटो भिडियो हेर्नुहोस्। ## परिचय उच्च स्तरमा, मेसिन लर्निङ (ML) प्रक्रिया निर्माण गर्ने कला विभिन्न चरणहरूमा विभाजित छ: 1. **प्रश्न तय गर्नुहोस्**। अधिकांश ML प्रक्रियाहरू यस्तो प्रश्न सोधेर सुरु हुन्छन् जसलाई साधारण सर्तहरूमा आधारित प्रोग्राम वा नियम-आधारित इन्जिनले उत्तर दिन सक्दैन। यी प्रश्नहरू प्रायः डाटाको संग्रहमा आधारित पूर्वानुमानहरू वरिपरि घुम्छन्। 2. **डाटा सङ्कलन र तयारी गर्नुहोस्**। तपाईंको प्रश्नको उत्तर दिनको लागि, तपाईंलाई डाटा चाहिन्छ। तपाईंको डाटाको गुणस्तर र कहिलेकाहीं मात्रा तपाईंको प्रारम्भिक प्रश्नको उत्तर दिन कत्तिको सक्षम छ भन्ने निर्धारण गर्दछ। डाटालाई दृश्यात्मक बनाउनु यो चरणको महत्त्वपूर्ण पक्ष हो। यस चरणमा डाटालाई प्रशिक्षण र परीक्षण समूहमा विभाजन गरेर मोडेल निर्माण गर्ने कार्य पनि समावेश छ। 3. **प्रशिक्षण विधि चयन गर्नुहोस्**। तपाईंको प्रश्न र डाटाको प्रकृतिको आधारमा, तपाईंले मोडेललाई कसरी प्रशिक्षण दिने भन्ने निर्णय गर्नुपर्छ ताकि डाटालाई राम्रोसँग प्रतिबिम्बित गर्न र त्यसको विरुद्ध सही पूर्वानुमान गर्न सकियोस्। यो ML प्रक्रियाको भाग हो जसमा विशिष्ट विशेषज्ञता र प्रायः धेरै प्रयोग आवश्यक हुन्छ। 4. **मोडेललाई प्रशिक्षण दिनुहोस्**। तपाईंको प्रशिक्षण डाटाको प्रयोग गरेर, तपाईं विभिन्न एल्गोरिदमहरूको प्रयोग गरेर मोडेललाई डाटामा ढाँचाहरू चिन्न प्रशिक्षण दिनुहुन्छ। मोडेलले आन्तरिक तौलहरू प्रयोग गर्न सक्छ जसलाई समायोजन गरेर डाटाको केही भागलाई अन्य भागहरू भन्दा प्राथमिकता दिन सकिन्छ ताकि राम्रो मोडेल निर्माण गर्न सकियोस्। 5. **मोडेलको मूल्याङ्कन गर्नुहोस्**। तपाईंले सङ्कलित सेटबाट पहिले कहिल्यै नदेखिएको डाटा (तपाईंको परीक्षण डाटा) प्रयोग गरेर मोडेल कत्तिको राम्रो प्रदर्शन गरिरहेको छ हेर्नुहुन्छ। 6. **प्यारामिटर ट्युनिङ**। तपाईंको मोडेलको प्रदर्शनको आधारमा, तपाईं विभिन्न प्यारामिटरहरू वा चरहरू प्रयोग गरेर प्रक्रिया पुनः गर्न सक्नुहुन्छ जसले मोडेललाई प्रशिक्षण दिन प्रयोग गरिएका एल्गोरिदमहरूको व्यवहारलाई नियन्त्रण गर्दछ। 7. **पूर्वानुमान गर्नुहोस्**। नयाँ इनपुटहरू प्रयोग गरेर तपाईंको मोडेलको सटीकता परीक्षण गर्नुहोस्। ## कुन प्रश्न सोध्ने कम्प्युटरहरू डाटामा लुकेका ढाँचाहरू पत्ता लगाउन विशेष रूपमा कुशल छन्। यो उपयोगिता अनुसन्धानकर्ताहरूको लागि धेरै उपयोगी छ जसले कुनै निश्चित क्षेत्रको बारेमा प्रश्न सोध्छन् जसलाई सर्तहरूमा आधारित नियम इन्जिन बनाएर सजिलै उत्तर दिन सकिँदैन। उदाहरणका लागि, बीमाको काममा, डाटा वैज्ञानिकले धूम्रपान गर्ने र नगर्ने व्यक्तिको मृत्यु दरको बारेमा नियमहरू निर्माण गर्न सक्छ। तर जब धेरै अन्य चरहरू समीकरणमा ल्याइन्छन्, ML मोडेलले विगतको स्वास्थ्य इतिहासको आधारमा भविष्यको मृत्यु दरको पूर्वानुमान गर्न अधिक प्रभावकारी हुन सक्छ। एक खुशीको उदाहरण भनेको कुनै स्थानको अप्रिल महिनाको मौसमको पूर्वानुमान बनाउनु हो, जसमा अक्षांश, देशान्तर, जलवायु परिवर्तन, समुद्रको नजिकको दूरी, जेट स्ट्रिमको ढाँचाहरू, र अन्य धेरै डाटाहरू समावेश छन्। ✅ यो [स्लाइड डेक](https://www2.cisl.ucar.edu/sites/default/files/2021-10/0900%20June%2024%20Haupt_0.pdf) मा मौसम मोडेलहरूको ऐतिहासिक दृष्टिकोण प्रस्तुत गरिएको छ जसले मौसम विश्लेषणमा ML प्रयोगको बारेमा जानकारी दिन्छ। ## निर्माण अघि कार्यहरू तपाईंको मोडेल निर्माण गर्न सुरु गर्नु अघि, तपाईंले पूरा गर्नुपर्ने केही कार्यहरू छन्। तपाईंको प्रश्न परीक्षण गर्न र मोडेलको पूर्वानुमानको आधारमा परिकल्पना बनाउन, तपाईंले केही तत्वहरू पहिचान र कन्फिगर गर्न आवश्यक छ। ### डाटा तपाईंको प्रश्नको उत्तर कुनै निश्चितताका साथ दिनको लागि, तपाईंलाई सही प्रकारको पर्याप्त डाटा चाहिन्छ। यस बिन्दुमा तपाईंले दुई काम गर्नुपर्छ: - **डाटा सङ्कलन गर्नुहोस्**। डाटा विश्लेषणमा निष्पक्षताको बारेमा अघिल्लो पाठलाई ध्यानमा राख्दै, तपाईंले आफ्नो डाटा सावधानीपूर्वक सङ्कलन गर्नुपर्छ। यस डाटाको स्रोतहरू, यसमा हुन सक्ने कुनै पनि अन्तर्निहित पूर्वाग्रहहरू, र यसको उत्पत्तिको दस्तावेजीकरणको बारेमा सचेत रहनुहोस्। - **डाटा तयार गर्नुहोस्**। डाटा तयारी प्रक्रियामा धेरै चरणहरू समावेश छन्। यदि डाटा विभिन्न स्रोतहरूबाट आएको छ भने तपाईंले डाटालाई एकत्रित गर्न र सामान्यीकरण गर्न आवश्यक हुन सक्छ। तपाईंले स्ट्रिङलाई सङ्ख्यामा रूपान्तरण गर्ने (जस्तै [क्लस्टरिङ](../../5-Clustering/1-Visualize/README.md) मा गरिन्छ) जस्ता विभिन्न विधिहरू प्रयोग गरेर डाटाको गुणस्तर र मात्रा सुधार गर्न सक्नुहुन्छ। तपाईंले मूल डाटाको आधारमा नयाँ डाटा उत्पन्न गर्न सक्नुहुन्छ (जस्तै [वर्गीकरण](../../4-Classification/1-Introduction/README.md) मा गरिन्छ)। तपाईंले डाटालाई सफा र सम्पादन गर्न सक्नुहुन्छ (जस्तै हामी [वेब एप](../../3-Web-App/README.md) पाठ अघि गर्नेछौं)। अन्ततः, तपाईंले प्रशिक्षण प्रविधिहरूको आधारमा डाटालाई अनियमित र फेरबदल गर्न आवश्यक हुन सक्छ। ✅ डाटा सङ्कलन र प्रशोधन गरेपछि, तपाईंको प्रश्नलाई सम्बोधन गर्न यसको आकारले अनुमति दिनेछ कि छैन हेर्न एक क्षण लिनुहोस्। यो सम्भव छ कि डाटाले तपाईंको दिइएको कार्यमा राम्रो प्रदर्शन नगर्नेछ, जस्तै हामी [क्लस्टरिङ](../../5-Clustering/1-Visualize/README.md) पाठहरूमा पत्ता लगाउँछौं! ### विशेषताहरू र लक्ष्य [विशेषता](https://www.datasciencecentral.com/profiles/blogs/an-introduction-to-variable-and-feature-selection) भनेको तपाईंको डाटाको मापनयोग्य सम्पत्ति हो। धेरै डाटासेटहरूमा यो 'मिति', 'आकार', वा 'रङ' जस्ता स्तम्भ शीर्षकको रूपमा व्यक्त गरिन्छ। तपाईंको विशेषता चर, प्रायः कोडमा `X` द्वारा प्रतिनिधित्व गरिन्छ, इनपुट चर हो जसले मोडेललाई प्रशिक्षण दिन प्रयोग गरिन्छ। लक्ष्य भनेको तपाईंले भविष्यवाणी गर्न खोजिरहेको कुरा हो। लक्ष्य, प्रायः कोडमा `y` द्वारा प्रतिनिधित्व गरिन्छ, तपाईंको डाटाबाट सोध्न खोजिएको प्रश्नको उत्तर हो: डिसेम्बरमा कुन **रङ**का कद्दूहरू सस्तो हुनेछन्? सान फ्रान्सिस्कोमा कुन छिमेकमा सबैभन्दा राम्रो सम्पत्ति **मूल्य** हुनेछ? कहिलेकाहीं लक्ष्यलाई लेबल विशेषता पनि भनिन्छ। ### तपाईंको विशेषता चर चयन गर्नुहोस् 🎓 **विशेषता चयन र विशेषता निकासी** मोडेल निर्माण गर्दा कुन चर चयन गर्ने थाहा कसरी पाउने? तपाईंले सम्भवतः विशेषता चयन वा विशेषता निकासीको प्रक्रियाबाट जानुपर्नेछ ताकि सबैभन्दा राम्रो प्रदर्शन गर्ने मोडेलका लागि सही चरहरू चयन गर्न सकियोस्। तर यी समान कुरा होइनन्: "विशेषता निकासीले मूल विशेषताहरूको कार्यहरूबाट नयाँ विशेषताहरू सिर्जना गर्दछ, जबकि विशेषता चयनले विशेषताहरूको उपसमुच्ची फिर्ता गर्दछ।" ([स्रोत](https://wikipedia.org/wiki/Feature_selection)) ### तपाईंको डाटालाई दृश्यात्मक बनाउनुहोस् डाटा वैज्ञानिकको उपकरणको महत्त्वपूर्ण पक्ष भनेको Seaborn वा MatPlotLib जस्ता उत्कृष्ट पुस्तकालयहरूको प्रयोग गरेर डाटालाई दृश्यात्मक बनाउने शक्ति हो। तपाईंको डाटालाई दृश्यात्मक रूपमा प्रस्तुत गर्दा तपाईंले उपयोग गर्न सकिने लुकेका सम्बन्धहरू पत्ता लगाउन सक्नुहुन्छ। तपाईंको दृश्यात्मकताले पूर्वाग्रह वा असन्तुलित डाटा पत्ता लगाउन पनि मद्दत गर्न सक्छ (जस्तै हामी [वर्गीकरण](../../4-Classification/2-Classifiers-1/README.md) मा पत्ता लगाउँछौं)। ### तपाईंको डाटासेटलाई विभाजन गर्नुहोस् प्रशिक्षण अघि, तपाईंले आफ्नो डाटासेटलाई असमान आकारका दुई वा बढी भागमा विभाजन गर्न आवश्यक छ जसले अझै डाटालाई राम्रोसँग प्रतिनिधित्व गर्दछ। - **प्रशिक्षण**। डाटासेटको यो भाग मोडेललाई प्रशिक्षण दिन फिट गरिन्छ। यो सेट मूल डाटासेटको अधिकांश भाग हो। - **परीक्षण**। परीक्षण डाटासेट मूल डाटाबाट सङ्कलित स्वतन्त्र डाटाको समूह हो जसले निर्माण गरिएको मोडेलको प्रदर्शन पुष्टि गर्न प्रयोग गरिन्छ। - **मान्यकरण**। मान्यकरण सेट स्वतन्त्र उदाहरणहरूको सानो समूह हो जसले मोडेलको हाइपरप्यारामिटरहरू वा संरचनालाई ट्युन गर्न प्रयोग गरिन्छ ताकि मोडेल सुधार गर्न सकियोस्। तपाईंको डाटाको आकार र तपाईंले सोधिरहेको प्रश्नको आधारमा, तपाईंले यो तेस्रो सेट निर्माण गर्न आवश्यक नपर्न सक्छ (जस्तै हामी [समय श्रृंखला पूर्वानुमान](../../7-TimeSeries/1-Introduction/README.md) मा नोट गर्छौं)। ## मोडेल निर्माण तपाईंको प्रशिक्षण डाटाको प्रयोग गरेर, तपाईंको लक्ष्य विभिन्न एल्गोरिदमहरूको प्रयोग गरेर **प्रशिक्षण** गरेर मोडेल, वा तपाईंको डाटाको सांख्यिकीय प्रतिनिधित्व निर्माण गर्नु हो। मोडेललाई प्रशिक्षण दिनु भनेको यसलाई डाटामा उजागर गर्नु हो जसले यसलाई पत्ता लगाएको ढाँचाहरूको बारेमा धारणाहरू बनाउन, प्रमाणित गर्न, र स्वीकार वा अस्वीकार गर्न अनुमति दिन्छ। ### प्रशिक्षण विधि चयन गर्नुहोस् तपाईंको प्रश्न र तपाईंको डाटाको प्रकृतिको आधारमा, तपाईंले यसलाई प्रशिक्षण दिन विधि चयन गर्नुहुनेछ। [Scikit-learn को दस्तावेज](https://scikit-learn.org/stable/user_guide.html) मा चरणबद्ध रूपमा जानुहोस् - जुन हामी यस पाठ्यक्रममा प्रयोग गर्छौं - तपाईं मोडेललाई प्रशिक्षण दिन धेरै तरिकाहरू अन्वेषण गर्न सक्नुहुन्छ। तपाईंको अनुभवको आधारमा, तपाईंले सबैभन्दा राम्रो मोडेल निर्माण गर्न धेरै फरक विधिहरू प्रयास गर्नुपर्नेछ। तपाईं सम्भवतः एक प्रक्रियाबाट जानुहुनेछ जहाँ डाटा वैज्ञानिकहरूले मोडेलको प्रदर्शन मूल्याङ्कन गर्छन्, यसलाई नदेखिएको डाटा खुवाउँछन्, सटीकता, पूर्वाग्रह, र अन्य गुणस्तर-घटाउने समस्याहरू जाँच गर्छन्, र दिइएको कार्यका लागि सबैभन्दा उपयुक्त प्रशिक्षण विधि चयन गर्छन्। ### मोडेललाई प्रशिक्षण दिनुहोस् तपाईंको प्रशिक्षण डाटासँग सुसज्जित, तपाईं 'फिट' गरेर मोडेल निर्माण गर्न तयार हुनुहुन्छ। तपाईंले धेरै ML पुस्तकालयहरूमा 'model.fit' को कोड देख्नुहुनेछ - यो समयमा तपाईंले आफ्नो विशेषता चरलाई मानहरूको एरेको रूपमा (प्रायः 'X') र लक्ष्य चरलाई (प्रायः 'y') पठाउनुहुन्छ। ### मोडेलको मूल्याङ्कन गर्नुहोस् एकपटक प्रशिक्षण प्रक्रिया पूरा भएपछि (ठूलो मोडेललाई प्रशिक्षण दिन धेरै पुनरावृत्ति, वा 'epochs', लाग्न सक्छ), तपाईंले परीक्षण डाटाको प्रयोग गरेर मोडेलको गुणस्तर मूल्याङ्कन गर्न सक्नुहुन्छ। यो डाटा मूल डाटाको उपसमुच्ची हो जसलाई मोडेलले पहिले विश्लेषण गरेको छैन। तपाईंले आफ्नो मोडेलको गुणस्तरको बारेमा मेट्रिक्सको तालिका प्रिन्ट गर्न सक्नुहुन्छ। 🎓 **मोडेल फिटिङ** मेसिन लर्निङको सन्दर्भमा, मोडेल फिटिङले मोडेलको अन्तर्निहित कार्यको सटीकतालाई जनाउँछ जब यसले डाटालाई विश्लेषण गर्न प्रयास गर्छ जससँग यो परिचित छैन। 🎓 **अन्डरफिटिङ** र **ओभरफिटिङ** सामान्य समस्याहरू हुन् जसले मोडेलको गुणस्तरलाई घटाउँछन्, किनकि मोडेलले प्रशिक्षण डाटासँग न त पर्याप्त राम्रोसँग फिट गर्छ न त धेरै राम्रोसँग। यसले मोडेललाई प्रशिक्षण डाटासँग धेरै नजिक वा धेरै टाढा मिल्दो पूर्वानुमान गर्न बनाउँछ। ओभरफिट मोडेलले प्रशिक्षण डाटालाई धेरै राम्रोसँग पूर्वानुमान गर्छ किनभने यसले डाटाको विवरण र आवाजलाई धेरै राम्रोसँग सिकेको छ। अन्डरफिट मोडेल सटीक छैन किनभने यसले न त यसको प्रशिक्षण डाटालाई सही रूपमा विश्लेषण गर्न सक्छ न त यसले पहिले 'देखेको छैन' डाटालाई। ![ओभरफिटिङ मोडेल](../../../../1-Introduction/4-techniques-of-ML/images/overfitting.png) > [Jen Looper](https://twitter.com/jenlooper) द्वारा इन्फोग्राफिक ## प्यारामिटर ट्युनिङ तपाईंको प्रारम्भिक प्रशिक्षण पूरा भएपछि, मोडेलको गुणस्तरलाई अवलोकन गर्नुहोस् र यसको 'हाइपरप्यारामिटरहरू' समायोजन गरेर सुधार गर्ने विचार गर्नुहोस्। यस प्रक्रियाको बारेमा [दस्तावेजमा](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters?WT.mc_id=academic-77952-leestott) थप पढ्नुहोस्। ## पूर्वानुमान यो क्षण हो जहाँ तपाईंले आफ्नो मोडेलको सटीकता परीक्षण गर्न पूर्ण रूपमा नयाँ डाटा प्रयोग गर्न सक्नुहुन्छ। 'लागू गरिएको' ML सेटिङमा, जहाँ तपाईं उत्पादनमा मोडेल प्रयोग गर्न वेब सम्पत्ति निर्माण गर्दै हुनुहुन्छ, यो प्रक्रियाले प्रयोगकर्ता इनपुट सङ्कलन गर्न (उदाहरणका लागि बटन थिच्ने) चर सेट गर्न र मोडेललाई अनुमान वा मूल्याङ्कनको लागि पठाउन समावेश गर्न सक्छ। यी पाठहरूमा, तपाईंले यी चरणहरू कसरी प्रयोग गर्ने, निर्माण गर्ने, परीक्षण गर्ने, मूल्याङ्कन गर्ने, र पूर्वानुमान गर्ने - डाटा वैज्ञानिकको सबै इशाराहरू र थप, 'फुल स्ट्याक' ML इन्जिनियर बन्ने यात्रामा प्रगति गर्दै। --- ## 🚀 चुनौती ML अभ्यासकर्ताको चरणहरूको प्रवाह चार्ट बनाउनुहोस्। तपाईं अहिले प्रक्रियाको कुन भागमा हुनुहुन्छ? तपाईं कहाँ कठिनाइ पाउने भविष्यवाणी गर्नुहुन्छ? तपाईंलाई के सजिलो लाग्छ? ## [पाठ पछि क्विज](https://ff-quizzes.netlify.app/en/ml/) ## समीक्षा र आत्म अध्ययन डाटा वैज्ञानिकहरूको दैनिक कामको बारेमा छलफल गर्ने अन्तर्वार्ताहरू अनलाइन खोज्नुहोस्। यहाँ [एक](https://www.youtube.com/watch?v=Z3IjgbbCEfs) छ। ## असाइनमेन्ट [डाटा वैज्ञानिकसँग अन्तर्वार्ता गर्नुहोस्](assignment.md) --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरी अनुवाद गरिएको हो। हामी यथासम्भव सटीकता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्त्वपूर्ण जानकारीका लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याका लागि हामी जिम्मेवार हुने छैनौं।