You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/hi/2-Regression/1-Tools
localizeflow[bot] 4e2f9e9b38
[ja,ko,hi] chore(i18n): sync translations
3 weeks ago
..
solution chore(i18n): sync translations with latest source changes (chunk 1/1, 300 changes) 8 months ago
README.md [ja,ko,hi] chore(i18n): sync translations 3 weeks ago
assignment.md chore(i18n): sync translations with latest source changes (chunk 1/1, 300 changes) 8 months ago
notebook.ipynb 🌐 Update translations via Co-op Translator 1 year ago

README.md

रिग्रेशन मॉडल के लिए Python और Scikit-learn के साथ शुरू करें

स्केचनोट में रिग्रेशन का सारांश

स्केचनोट द्वारा Tomomi Imura

प्री-लेखन क्विज़

यह पाठ R में भी उपलब्ध है!

परिचय

इन चार पाठों में, आप रिग्रेशन मॉडल कैसे बनाएंगे यह सीखेंगे। हम जल्द ही चर्चा करेंगे कि ये किस लिए होते हैं। लेकिन इससे पहले कि आप कुछ भी करें, सुनिश्चित करें कि आपके पास प्रक्रिया शुरू करने के लिए सही उपकरण हैं!

इस पाठ में, आप सीखेंगे कैसे:

  • अपने कंप्यूटर को लोकल मशीन लर्निंग कार्यों के लिए कॉन्फ़िगर करें।
  • Jupyter नोटबुक्स के साथ काम करें।
  • Scikit-learn का उपयोग करें, जिसमें इंस्टॉलेशन भी शामिल है।
  • एक व्यावहारिक अभ्यास के साथ रैखिक रिग्रेशन का अन्वेषण करें।

इंस्टॉलेशन और कॉन्फ़िगरेशन

शुरुआती के लिए ML - अपने उपकरण सेटअप करें मशीन लर्निंग मॉडल बनाने के लिए तैयार

🎥 ऊपर दी गई छवि पर क्लिक करें एक छोटा वीडियो देखने के लिए जो आपके कंप्यूटर को ML के लिए कॉन्फ़िगर करने का काम करता है।

  1. Python इंस्टॉल करें। सुनिश्चित करें कि Python आपके कंप्यूटर पर इंस्टॉल है। आप डेटा साइंस और मशीन लर्निंग के कई कार्यों के लिए Python का उपयोग करेंगे। अधिकांश कंप्यूटर सिस्टम में पहले से ही Python इंस्टॉल होता है। कुछ उपयोगकर्ताओं के लिए सेटअप को आसान बनाने वाले उपयोगी Python कोडिंग पैक भी उपलब्ध हैं।

    हालांकि, Python के कुछ उपयोग एक संस्करण की आवश्यकता होती है, जबकि दूसरों को एक अलग संस्करण की आवश्यकता होती है। इस कारण से, वर्चुअल वातावरण के भीतर काम करना उपयोगी होता है।

  2. Visual Studio Code इंस्टॉल करें। सुनिश्चित करें कि आपने अपने कंप्यूटर पर Visual Studio Code इंस्टॉल किया है। बेसिक इंस्टॉलेशन के लिए ये निर्देशों का पालन करें Visual Studio Code इंस्टॉल करें। इस कोर्स में आप Visual Studio Code में Python का उपयोग करेंगे, इसलिए आप Python विकास के लिए Visual Studio Code कॉन्फ़िगर करना सीखना चाहेंगे।

इस संग्रह के माध्यम से काम करके Python के साथ आरामदायक बनें Learn modules

Visual Studio Code के साथ Python सेटअप करें

🎥 ऊपर दी गई छवि पर क्लिक करें एक वीडियो के लिए: VS Code के भीतर Python का उपयोग करना।

  1. Scikit-learn इंस्टॉल करें, द्वारा पालन करते हुए इन निर्देशों। चूंकि आपको Python 3 का उपयोग करना है, इसलिए वर्चुअल वातावरण का उपयोग करने की सिफारिश की जाती है। ध्यान दें, यदि आप इस लाइब्रेरी को M1 Mac पर इंस्टॉल कर रहे हैं, तो ऊपर लिंक किए गए पेज पर विशेष निर्देश हैं।

  2. Jupyter Notebook इंस्टॉल करें। आपको Jupyter पैकेज इंस्टॉल करना होगा।

आपका ML लेखन वातावरण

आप नोटबुक्स का उपयोग करेंगे अपने Python कोड को विकसित करने और मशीन लर्निंग मॉडल बनाने के लिए। इस प्रकार की फाइल डेटा वैज्ञानिकों के लिए एक सामान्य उपकरण है, और इन्हें उनके प्रत्यय या एक्सटेंशन .ipynb से पहचाना जा सकता है।

नोटबुक्स एक इंटरैक्टिव वातावरण है जो डेवलपर को कोड लिखने के साथ-साथ कोड के आसपास नोट्स और दस्तावेज़ जोड़ने की अनुमति देता है, जो कि प्रयोगात्मक या शोध-उन्मुख परियोजनाओं के लिए काफी सहायक होता है।

शुरुआती के लिए ML - रिग्रेशन मॉडल बनाने के लिए Jupyter नोटबुक सेट अप करें

🎥 ऊपर दी गई छवि पर क्लिक करें एक छोटा वीडियो देखने के लिए जो इस अभ्यास के माध्यम से काम करता है।

अभ्यास - एक नोटबुक के साथ काम करें

इस फ़ोल्डर में, आपको फाइल notebook.ipynb मिल जाएगी।

  1. Visual Studio Code में notebook.ipynb खोलें।

    एक Jupyter सर्वर Python 3+ के साथ शुरू होगा। आप नोटबुक के उन हिस्सों को पाएंगे जिन्हें run किया जा सकता है, कोड के टुकड़े। आप कोड ब्लॉक को चलाने के लिए उस आइकन का चयन कर सकते हैं जो प्ले बटन जैसा दिखता है।

  2. md आइकन चुनें और थोड़ा सा मार्कडाउन जोड़ें, तथा निम्नलिखित टेक्स्ट # Welcome to your notebook।

    इसके बाद, कुछ Python कोड जोड़ें।

  3. कोड ब्लॉक में टाइप करें print('hello notebook')।

  4. कोड चलाने के लिए तीर चुनें।

    आपको प्रिंट किए गए कथन को देखना चाहिए:

    hello notebook
    

VS Code में खुली एक नोटबुक

आप अपनी नोटबुक को स्व-प्रलेखित बनाने के लिए अपने कोड के बीच टिप्पणियाँ शामिल कर सकते हैं।

✅ एक मिनट के लिए सोचें कि एक वेब डेवलपर के कार्य वातावरण और एक डेटा वैज्ञानिक के वातावरण में कितना फर्क होता है।

Scikit-learn के साथ आरंभ करना

अब जब Python आपके स्थानीय वातावरण में सेटअप हो चुका है, और आप Jupyter नोटबुक्स से परिचित हैं, तो आइए Scikit-learn (उच्चारण करें sci जैसे science) के साथ भी उतना ही सहज हो जाएं। Scikit-learn आपको मशीन लर्निंग कार्य करने में मदद करने के लिए एक विस्तृत API प्रदान करता है।

उनकी वेबसाइट के अनुसार, "Scikit-learn एक ओपन सोर्स मशीन लर्निंग लाइब्रेरी है जो पर्यवेक्षित और अनुपर्यवेक्षित लर्निंग का समर्थन करती है। यह मॉडल फिटिंग, डेटा प्रीप्रोसेसिंग, मॉडल चयन और मूल्यांकन के लिए विभिन्न उपकरण भी प्रदान करती है, साथ ही कई अन्य उपयोगिताएं भी।"

इस कोर्स में, आप मशीन लर्निंग मॉडल बनाने के लिए Scikit-learn और अन्य उपकरणों का उपयोग करेंगे ताकि हम जो 'परंपरागत मशीन लर्निंग' कार्य कहते हैं वह किया जा सके। हमने जानबूझकर न्यूरल नेटवर्क और डीप लर्निंग से बचा है, क्योंकि वे हमारे आगामी 'शुरुआती के लिए एआई' पाठ्यक्रम में बेहतर कवर किए जाते हैं।

Scikit-learn मॉडल बनाने और उनका उपयोग के लिए मूल्यांकन करना सरल बनाता है। यह मुख्य रूप से संख्यात्मक डेटा का उपयोग करता है और इसमें शैक्षणिक उपकरणों के रूप में कई तैयार किए गए डेटासेट शामिल हैं। यह छात्रों के लिए प्रयुक्त होने वाले पूर्वनिर्मित मॉडल भी प्रदान करता है। आइए इस प्रक्रिया का अन्वेषण करें जिसमें तैयार पैकेज्ड डेटा लोड करना और एक निर्मित अनुमापक का उपयोग करके अपनी पहली ML मॉडल बनाना शामिल है, कुछ मूल डेटा के साथ।

अभ्यास - आपकी पहली Scikit-learn नोटबुक

यह ट्यूटोरियल Scikit-learn की वेबसाइट पर लाइनियर रिग्रेशन उदाहरण से प्रेरित है।

शुरुआती के लिए ML - Python में आपका पहला लाइनियर रिग्रेशन प्रोजेक्ट

🎥 ऊपर दी गई छवि पर क्लिक करें इस अभ्यास के माध्यम से एक छोटा वीडियो देखने के लिए।

notebook.ipynb फ़ाइल में संबंधित इस पाठ से, सभी सेल को 'ट्रैश कैन' आइकन दबाकर साफ कर दें।

इस अनुभाग में, आप Scikit-learn में सीखने के उद्देश्य से निर्मित मधुमेह के बारे में एक छोटे डेटासेट के साथ काम करेंगे। कल्पना करें कि आप मधुमेह रोगियों के लिए एक उपचार का परीक्षण करना चाहते हैं। मशीन लर्निंग मॉडल आपको यह तय करने में मदद कर सकते हैं कि कौन से रोगी उपचार के लिए बेहतर प्रतिक्रिया देंगे, चर के संयोजनों के आधार पर। एक बहुत बुनियादी रिग्रेशन मॉडल, जब विज़ुअलाइज़ किया जाता है, तो उस चर के बारे में जानकारी दिखा सकता है जो आपके सैद्धांतिक क्लिनिकल परीक्षणों को व्यवस्थित करने में मदद करेगा।

✅ रिग्रेशन के कई प्रकार होते हैं, और आप कौन सा चुनते हैं यह इस बात पर निर्भर करता है कि आप क्या परिणाम जानना चाहते हैं। यदि आप किसी दिए गए उम्र के व्यक्ति की संभावित ऊंचाई भविष्यवाणी करना चाहते हैं, तो आप रैखिक रिग्रेशन का उपयोग करेंगे, क्योंकि आप एक संख्यात्मक मान ढूंढ़ रहे हैं। यदि आप यह खोजने में रुचि रखते हैं कि कोई खाद्य शैली वेगन है या नहीं, तो आप एक श्रेणी असाइनमेंट खोज रहे हैं इसलिए आप लॉजिस्टिक रिग्रेशन का उपयोग करेंगे। आप बाद में लॉजिस्टिक रिग्रेशन के बारे में अधिक सीखेंगे। डेटा से पूछे जा सकने वाले कुछ सवालों के बारे में थोड़ा सोचें, और इनमें से कौन सा तरीका अधिक उपयुक्त होगा।

चलिए इस कार्य को शुरू करते हैं।

लाइब्रेरी आयात करें

इस कार्य के लिए हम कुछ लाइब्रेरी आयात करेंगे:

  • matplotlib। यह एक उपयोगी ग्राफ़िंग टूल है और हम इसका उपयोग लाइन प्लॉट बनाने के लिए करेंगे।
  • numpy। numpy Python में संख्यात्मक डेटा संभालने के लिए उपयोगी लाइब्रेरी है।
  • sklearn। यह Scikit-learn लाइब्रेरी है।

अपने कार्यों में सहायता के लिए कुछ लाइब्रेरी आयात करें।

  1. निम्नलिखित कोड टाइप करके आयात जोड़ें:

    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn import datasets, linear_model, model_selection
    

    ऊपर आप matplotlib, numpy आयात कर रहे हैं और sklearn से datasets, linear_model और model_selection आयात कर रहे हैं। model_selection का उपयोग डेटा को प्रशिक्षण और परीक्षण सेट में विभाजित करने के लिए किया जाता है।

मधुमेह डेटासेट

निर्मित मधुमेह डेटासेट में 442 नमूने शामिल हैं, जिनमें से 10 फीचर वेरिएबल्स हैं, जिनमें से कुछ हैं:

  • आयु: वर्षों में आयु
  • bmi: बॉडी मास इंडेक्स
  • bp: औसत रक्तचाप
  • s1 tc: टी-सेल (श्वेत रक्त कोशिकाओं का एक प्रकार)

✅ इस डेटासेट में 'लिंग' की अवधारणा एक फीचर वेरिएबल के रूप में शामिल है, जो मधुमेह के शोध के लिए महत्वपूर्ण है। कई मेडिकल डेटासेट ऐसे द्विआधारी वर्गीकरण शामिल करते हैं। इस प्रकार की वर्गीकरण के कारण कैसे कुछ आबादी का एक हिस्सा उपचार से बाहर रह सकता है, इसके बारे में थोड़ा सोचें।

अब, X और y डेटा लोड करें।

🎓 याद रखें, यह पर्यवेक्षित लर्निंग है, और हमें एक नामित 'y' लक्ष्य की आवश्यकता है।

एक नए कोड सेल में, load_diabetes() को कॉल करके मधुमेह डेटासेट लोड करें। इनपुट return_X_y=True का मतलब है कि X डेटा मैट्रिक्स होगा, और y रिग्रेशन लक्ष्य होगा।

  1. डेटा मैट्रिक्स के आकार और उसके पहले तत्व को दिखाने के लिए कुछ प्रिंट कमांड जोड़ें:

    X, y = datasets.load_diabetes(return_X_y=True)
    print(X.shape)
    print(X[0])
    

    आपको एक ट्यूपल (संकुल) के रूप में प्रतिक्रिया मिलेगी। आप इस ट्यूपल के पहले दो मानों को क्रमशः X और y को असाइन कर रहे हैं। ट्यूपल के बारे में अधिक जानें यहाँ।

    आप देख सकते हैं कि इस डेटा में 442 आइटम हैं जो 10 तत्वों की सरणियों में आकारित हैं:

    (442, 10)
    [ 0.03807591  0.05068012  0.06169621  0.02187235 -0.0442235  -0.03482076
    -0.04340085 -0.00259226  0.01990842 -0.01764613]
    

    ✅ डेटा और रिग्रेशन लक्ष्य के बीच संबंध के बारे में थोड़ा सोचें। रैखिक रिग्रेशन फीचर X और लक्ष्य चर y के बीच संबंधों की भविष्यवाणी करता है। क्या आप मधुमेह डेटासेट के दस्तावेज़ में लक्ष्य पा सकते हैं? उस लक्ष्य को ध्यान में रखते हुए यह डेटासेट क्या प्रदर्शित कर रहा है?

  2. अगला, इस डेटासेट के एक हिस्से का चयन करें प्लॉट के लिए, डेटासेट के तीसरे कॉलम का चयन करके। आप सभी पंक्तियाँ चयन करने के लिए : ऑपरेटर का उपयोग कर सकते हैं, और फिर इंडेक्स (2) का उपयोग करके तीसरे कॉलम को चुन सकते हैं। आप reshape(n_rows, n_columns) का उपयोग करके डेटा को 2D सरणी में फिर से आकार दे सकते हैं - जैसा कि प्लॉटिंग के लिए आवश्यक है। अगर किसी पैरामीटर का मान -1 है, तो संबंधित आयाम स्वचालित रूप से गणना किया जाता है।

    X = X[:, 2]
    X = X.reshape((-1,1))
    

    ✅ किसी भी समय, डेटा के आकार की जांच करने के लिए प्रिंट करें।

  3. अब जब आपके पास प्लॉटिंग के लिए डेटा तैयार है, आप देख सकते हैं कि क्या मशीन इस डेटा में नंबरों के बीच एक तार्किक विभाजन निर्धारित करने में मदद कर सकती है। इसके लिए, आपको डेटा (X) और लक्ष्य (y) दोनों को परीक्षण और प्रशिक्षण सेटों में विभाजित करना होगा। Scikit-learn के पास इसे करने का एक सरल तरीका है; आप अपने परीक्षण डेटा को एक दिए गए बिंदु पर विभाजित कर सकते हैं।

    X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33)
    
  4. अब आप अपने मॉडल को प्रशिक्षित करने के लिए तैयार हैं! रैखिक रिग्रेशन मॉडल को लोड करें और अपने X और y प्रशिक्षण सेटों के साथ model.fit() का उपयोग करके प्रशिक्षित करें:

    model = linear_model.LinearRegression()
    model.fit(X_train, y_train)
    

    ✅ model.fit() एक फंक्शन है जो आप कई ML लाइब्रेरीज़ जैसे TensorFlow में देखेंगे

  5. फिर, परीक्षण डेटा का उपयोग करके भविष्यवाणी बनाएं, predict() फंक्शन का उपयोग करके। इसका उपयोग मॉडल के डेटा समूहों के बीच रेखा खींचने के लिए किया जाएगा

    y_pred = model.predict(X_test)
    
  6. अब डेटा को प्लॉट में दिखाने का समय है। Matplotlib इस कार्य के लिए एक बहुत उपयोगी उपकरण है। सभी X और y टेस्ट डेटा का एक स्कैटरप्लॉट बनाएं, और भविष्यवाणी का उपयोग करके मॉडल के डेटा समूहों के बीच सबसे उपयुक्त जगह पर एक रेखा खींचें।

    plt.scatter(X_test, y_test,  color='black')
    plt.plot(X_test, y_pred, color='blue', linewidth=3)
    plt.xlabel('Scaled BMIs')
    plt.ylabel('Disease Progression')
    plt.title('A Graph Plot Showing Diabetes Progression Against BMI')
    plt.show()
    

    मधुमेह के आसपास डाटापॉइंट्स दिखाने वाला एक स्कैटरप्लॉट

    ✅ इसके बारे में थोड़ा सोचें कि यहाँ क्या हो रहा है। एक सीधी रेखा कई छोटे डाटाप्वाइंट्स के बीच जा रही है, लेकिन यह वास्तव में क्या कर रही है? क्या आप देख सकते हैं कि आप इस रेखा का उपयोग कर नए, अनदेखे डाटा पॉइंट को प्लॉट के y अक्ष के सापेक्ष कहाँ फिट होना चाहिए, भविष्यवाणी करने में सक्षम कैसे हो सकते हैं? इस मॉडल के व्यावहारिक उपयोग को शब्दों में व्यक्त करने की कोशिश करें।

बधाई हो, आपने अपना पहला रैखिक रिग्रेशन मॉडल बनाया, इसकी मदद से भविष्यवाणी की, और इसे एक प्लॉट में प्रदर्शित किया!


🚀चुनौती

इस डेटासेट के एक अलग चर को प्लॉट करें। संकेत: इस पंक्ति को संपादित करें: X = X[:,2]। इस डेटासेट के लक्ष्य को ध्यान में रखते हुए, आप मधुमेह को एक बीमारी के रूप में प्रगति के बारे में क्या पता लगा सकते हैं?

पोस्ट-लेखन क्विज़

पुनरावलोकन एवं स्वयं अध्ययन

इस ट्यूटोरियल में, आपने सरल रैखिक रिग्रेशन के साथ काम किया, न कि एकलचर या बहु-रैखिक रिग्रेशन के साथ। इन विधियों के बीच के अंतर के बारे में थोड़ा पढ़ें, या इस वीडियो को देखें

प्रतिगमन की अवधारणा के बारे में अधिक पढ़ें और सोचें कि इस तकनीक द्वारा किन प्रकार के प्रश्नों के उत्तर दिए जा सकते हैं। अपनी समझ को गहरा करने के लिए यह ट्यूटोरियल लें।

असाइनमेंट

एक अलग डेटा सेट


अस्वीकरण: इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा Co-op Translator का उपयोग करके किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या अशुद्धियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।