# मशीन लर्निंगच्या तंत्रज्ञान मशीन लर्निंग मॉडेल्स तयार करणे, वापरणे आणि त्यांचे व्यवस्थापन करणे हा इतर विकास प्रक्रियांपेक्षा खूप वेगळा आहे. या धड्यात आपण या प्रक्रियेचा उलगडा करू आणि तुम्हाला आवश्यक असलेल्या मुख्य तंत्रज्ञानांची ओळख करून देऊ. तुम्ही: - मशीन लर्निंगच्या प्रक्रियेची उच्चस्तरीय समज प्राप्त कराल. - 'मॉडेल्स', 'भाकीत', आणि 'ट्रेनिंग डेटा' यासारख्या मूलभूत संकल्पनांचा अभ्यास कराल. ## [पूर्व-व्याख्यान प्रश्नमंजुषा](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) चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.