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/mr/2-Regression/1-Tools
localizeflow[bot] 8a0c3df779
[bn,mr,ne] 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 [bn,mr,ne] 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 सह regression मॉडेल्ससाठी सुरुवात करा

regressions चा सारांश sketchnote मध्ये

स्केचनोट Tomomi Imura कडून

पूर्व-व्याख्यान क्विझ

हा धडा R मध्ये उपलब्ध आहे!

परिचय

या चार धड्यांमध्ये, तुम्ही regression मॉडेल्स कसे तयार करावे हे शोधणार आहात. थोडक्यात आपण या मॉडेल्स काय करतात यावर चर्चा करू. पण काहीही करण्याआधी, प्रक्रिया सुरू करण्यासाठी योग्य साधने तुमच्याकडे असल्याची खात्री करा!

या धड्यात, तुम्हाला शिकायला मिळेल:

  • तुमच्या संगणकाचे स्थानिक मशीन लर्निंग कामांसाठी कॉन्फिगर करणे.
  • Jupyter Notebooks वापरणे.
  • Scikit-learn वापरणे, त्यात स्थापना देखील समाविष्ट आहे.
  • एक प्रत्यक्ष व्यायाम करून linear regression तपासणे.

स्थापना आणि कॉन्फिगरेशन

ML for beginners - मशीन लर्निंग मॉडेल्स तयार करण्यासाठी तुमची साधने तयार करा

🎥 वर दिलेल्या चित्रावर क्लिक करा आणि संगणक ML साठी कॉन्फिगर करण्याबाबत एक संक्षिप्त व्हिडिओ पाहा.

  1. Python स्थापित करा. खात्री करा की तुमच्या संगणकावर Python स्थापित आहे. अनेक डेटा सायन्स आणि मशीन लर्निंग कामांसाठी Python वापरायचा असतो. बहुतेक संगणक प्रणालींमध्ये आधीच Python स्थापित असते. काही वापरकर्त्यांसाठी आढळणारे Python Coding Packs देखील उपलब्ध आहेत, ज्यामुळे सेटअप सोपे होते.

    Python चे काही वापर एक सॉफ्टवेअर व्हर्जन वापरतात, तर काही दुसरा वापरतात. त्यामुळे, virtual environment मध्ये काम करणे उपयुक्त ठरते.

  2. Visual Studio Code स्थापित करा. खात्री करा की Visual Studio Code तुमच्या संगणकावर स्थापित आहे. बेसिक इन्स्टॉलेशनसाठी या माहितीचे अनुसरण करा: Visual Studio Code स्थापित करा. तुम्ही या कोर्समध्ये Visual Studio Code मध्ये Python वापरणार आहात, त्यामुळे Python विकासासाठी Visual Studio Code कसे कॉन्फिगर करायचे ते थोडे शिकून घ्या: Visual Studio Code कॉन्फिगर करा.

    Learn modules वापरून Python मध्ये काम करून आरामदायक व्हा

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

    🎥 वरील चित्रावर क्लिक करा आणि Visual Studio Code मध्ये Python वापरण्याचा व्हिडिओ पहा.

  3. Scikit-learn स्थापित करा, या सूचनांचे पालन करा. Python 3 वापरायचा असल्यामुळे, virtual environment वापरणे शिफारसीय आहे. लक्षात ठेवा, M1 Mac वर स्थापना करत असल्यास, वरील दिलेल्या पृष्ठावर खास सूचना आहेत.

  4. Jupyter Notebook स्थापित करा. तुम्हाला Jupyter पॅकेज स्थापित करावे लागेल.

तुमचे ML लेखन वातावरण

तुम्ही तुमचा Python कोड विकसित करण्यासाठी आणि मशीन लर्निंग मॉडेल्स तयार करण्यासाठी notebooks वापरणार आहात. हा प्रकार फाइलचा साधारण प्रकार डेटा सायंटिस्टसाठी सामान्य आहे, आणि त्याचा उपसर्ग .ipynb द्वारे ओळखला जातो.

Notebooks एक संवादात्मक वातावरण आहे जे विकसकाला कोडिंग करण्यास तसेच नोट्स आणि कोडभोवती दस्तऐवजीकरण लिहिण्यास अनुमती देते; हे विशेषतः प्रयोगात्मक किंवा संशोधनात्मक प्रकल्पांसाठी खूप उपयोगी आहे.

ML for beginners - Jupyter Notebooks सेटअप करा आणि regression मॉडेल्स तयार करायला सुरुवात करा

🎥 वरील चित्रावर क्लिक करा आणि या व्यायामातून संक्षिप्त व्हिडिओ पाहा.

व्यायाम - notebook सह काम करा

या फोल्डरमध्ये, तुम्हाला notebook.ipynb फाइल मिळेल.

  1. Visual Studio Code मध्ये notebook.ipynb उघडा.

    Jupyter सर्व्हर Python 3+ सह सुरू होईल. तुम्हाला notebook मधील काही भाग run करू शकता, उदाहरणार्थ कोडचे तुकडे. कोड ब्लॉक चालविण्यासाठी प्ले बटनासारखा चिन्ह निवडा.

  2. md चिन्ह निवडा आणि थोडा markdown जोडा, पुढील मजकूर # Welcome to your notebook असा लिहा.

    नंतर, काही Python कोड जोडा.

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

  4. कोड चालविण्यासाठी बाणावर क्लिक करा.

    तुम्हाला मुद्रित विधान दिसेल:

    hello notebook
    

VS Code सह notebook उघडलेले

तुम्ही तुमचा कोड टिप्पण्यांसह समाविष्ट करू शकता ज्यामुळे notebook ची स्वयं-दस्तऐवजीकरणही होते.

✅ एक मिनिट विचार करा: वेब डेव्हलपरचे कामाचे वातावरण आणि डेटा सायंटिस्टचे कामाच्या वातावरणात किती फरक आहे.

Scikit-learn सह सुरु करा

आता Python तुमच्या स्थानिक वातावरणात सेट झाला आहे आणि तुम्ही Jupyter Notebooks मध्ये आरामदायक आहात, तर आपण Scikit-learn सहही तितकंच आरामदायक होऊया (sci हे 'science' प्रमाणे उच्चारायचे). Scikit-learn मशीन लर्निंग कार्य पूर्ण करण्यासाठी एक विस्तृत API पुरवते.

त्यांच्या वेबसाइट नुसार, "Scikit-learn ही एक मुक्त स्रोत मशीन लर्निंग लायब्ररी आहे जी supervised आणि unsupervised learning ला समर्थन देते. ती मॉडेल फिटिंग, डेटा पूर्वतयारी, मॉडेल निवड आणि मूल्यमापन, तसेच अनेक इतर उपयुक्त उपकरणे प्रदान करते."

या कोर्समध्ये, तुम्ही पारंपारिक मशीन लर्निंग कार्य पूर्ण करण्यासाठी Scikit-learn आणि इतर साधने वापरणार आहात. आम्ही जाळी नेटवर्क्स आणि गहिरे शिक्षण यांचा त्याग केला आहे कारण ते आमच्या पुढील 'AI for Beginners' अभ्यासक्रमात उत्तम रीतीने समजावले जातील.

Scikit-learn मॉडेल तयार करणे आणि त्याचे मूल्यमापन करणे सोपे करते. हे प्रामुख्याने संख्यात्मक डेटावर लक्ष केंद्रित करते आणि शिकण्यासाठी अनेक पूर्वनिर्मित डेटा संच प्रदान करते. यात विद्यार्थ्यांसाठी वापरण्यासाठी पूर्वनिर्मित मॉडेल्स देखील समाविष्ट आहेत. चला, पूर्वसूचि डेटा लोड करणे आणि अंतर्भूत estimator वापरून तुमचा पहिला ML मॉडेल Scikit-learn वापरून तयार करण्याची प्रक्रिया पाहूया.

व्यायाम - तुमचा पहिला Scikit-learn notebook

हा ट्यूटोरियल Scikit-learn च्या वेबसाइटवरील linear regression उदाहरण पासून प्रेरित आहे.

ML for beginners - Python मध्ये तुमचा पहिला Linear Regression प्रोजेक्ट

🎥 वरील चित्रावर क्लिक करा आणि या व्यायामाचे संक्षिप्त व्हिडिओ पाहा.

या धड्यासोबत दिलेल्या notebook.ipynb फाइलमधील सर्व सेल्स 'trash can' चिन्ह दाबून साफ करा.

या भागात, तुम्ही Scikit-learn मध्ये शिकण्यासाठी पूर्वनिर्मित मधील मध्यम आकाराच्या diabetes डेटासेटसह काम कराल. कल्पना करा की तुम्हाला diabetic रुग्णांच्या उपचाराची चाचणी करायची आहे. मशीन लर्निंग मॉडेल्स मदत करू शकतात की कोणते रुग्ण उपचाराला चांगला प्रतिसाद देतील, विविध चलांच्या संयोजनावर आधारित. अगदी एक साधा regression मॉडेल, ज्याचे व्हिज्युअलायझेशन केले, तो रुग्णांच्या संकल्पित क्लिनिकल ट्रायलसाठी वापरता येणारी माहिती देऊ शकतो.

✅ regression पद्धतींचे अनेक प्रकार आहेत आणि तुम्ही कोणती निवडाल हे तुमच्या प्रश्नावर अवलंबून आहे. जर तुम्हाला एखाद्या दिलेल्या वयाच्या व्यक्तीची शक्यतापूर्ण उंची भाकीत करायची असेल, तर तुम्ही linear regression वापराल कारण तुम्ही संख्यात्मक मूल्य शोधत आहात. जर तुम्ही शोधत असाल की एखाद्या प्रकारच्या आहाराला vegan मानले पाहिजे का नाही, तर तुम्ही शोधत आहात वर्गीकरण, त्यामुळे logistic regression वापराल. logistic regression नंतर शिकाल. काही प्रश्नांवर विचार करा जे तुम्ही डेटामधून विचारू शकता आणि कोणती पद्धत अधिक योग्य ठरेल.

चला या कार्यावर सुरुवात करूया.

लायब्ररी इम्पोर्ट करा

या कार्यासाठी आपण काही लायब्ररी इम्पोर्ट करू:

  • 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 डेटा ट्रेनिंग आणि टेस्ट सेटमध्ये विभागण्यासाठी वापरला जातो.

डायबिटीज डेटासेट

अंतर्भूत diabetes डेटासेट मध्ये 442 नमुने असतात, ज्यात 10 वैशिष्ट्ये (features) आहेत, त्यापैकी काही खालीलप्रमाणे आहेत:

  • वय: वर्षांमधील वय
  • bmi: बॉडी मास इंडेक्स
  • bp: सरासरी रक्तदाब
  • s1 tc: टी-सेल (पांढर्या रक्तकणांचा एक प्रकार)

✅ या डेटासेट मध्ये 'sex' हा एक वैशिष्ट्य महत्त्वाचा आहे जो डायबिटीज संशोधनासाठी उपयोगी आहे. बरेच वैद्यकीय डेटासेट या प्रकारच्या द्वैध वर्गीकरणाचा वापर करतात. यावर विचार करा की अशा वर्गीकरणामुळे काही लोकसंख्या उपचारांपासून वगळली जाऊ शकते.

आता, X आणि y डेटा लोड करा.

🎓 लक्षात ठेवा, हे supervised learning आहे आणि आपल्याला नाव असलेला 'y' लक्ष्य हवा आहे.

नवीन कोड सेलमध्ये load_diabetes() कॉल करून diabetes डेटासेट लोड करा. return_X_y=True असल्याने X हा डेटा मॅट्रिक्स असेल आणि y हा regression लक्ष्य असेल.

  1. डेटा मॅट्रिक्सचा आकार आणि त्याचा पहिला घटक दाखविण्यासाठी काही print कमांड जोडा:

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

    तुम्हाला परत मिळालेला प्रतिसाद म्हणजे एक tuple आहे. येथे तुम्ही tuple च्या पहिल्या दोन किंमती X आणि y मध्ये वेगळ्या करत आहात. अधिक जाणून घेण्यासाठी tuples बद्दल वाचा.

    तुम्ही पाहू शकता की हा डेटा 442 आयटम असलेला आहे ज्याचे प्रत्येक अरेमध्ये 10 घटक आहेत:

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

    ✅ थोडं विचार करा डेटा आणि regression लक्षाच्या नात्याबद्दल. Linear regression वैशिष्ट्य X आणि लक्ष्य y यांच्यातील संबंध भाकीत करते. तुम्ही वापरत असलेल्या डायबिटीज डेटासेट साठी लक्ष्य काय आहे? या डेटासेटमध्ये हा लक्ष्य काय दाखवत आहे?

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

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

    ✅ कधीही डेटा आणि त्याचा आकार तपासण्यासाठी print करा.

  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. आता तुम्ही तुमचा मॉडेल ट्रेन करण्यासाठी तयार आहात! linear regression मॉडेल लोड करा आणि model.fit() वापरून X आणि y प्रशिक्षण सेटसह प्रशिक्षित करा:

    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 टेस्ट डेटाचा scatterplot तयार करा, आणि prediction वापरून मॉडेलच्या डेटागटांमधील सर्वात योग्य ठिकाणी एक रेषा काढा.

    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()
    

    डायबिटीजच्या सभोवतालच्या datapoints ची scatterplot

    ✅ या वेळी तुम्हाला काय चालले आहे याचा विचार करा. अनेक छोटे डाटापॉइंट्सच्या मधोमध सरळ रेषा आहे, पण ती नक्की काय करत आहे? तुम्ही पाहू शकता का की तुम्ही या रेषेचा उपयोग नवीन, न दिसलेल्या डेटापॉइंटनुसार y axis च्या दृष्टीने भाकीत करायला कसा करू शकता? या मॉडेलचा व्यावहारिक वापर शब्दांमध्ये कसा मांडता येईल ते प्रयत्न करा.

अभिनंदन, तुम्ही तुमचा पहिला linear regression मॉडेल तयार केला, त्यावर भाकीत तयार केली, आणि प्लॉटमध्ये ते दाखवले!


🚀आव्हान

या डेटासेटमधून वेगळा चल प्लॉट करा. सूचना: या ओळी संपादित करा: X = X[:,2]. या डेटासेटच्या लक्ष्याच्या दृष्टीने तुम्हाला डायबिटीज रोगप्रगतीबद्दल काय शोधता येते?

पश्चात-व्याख्यान क्विझ

पुनरावलोकन आणि स्वअभ्यास

या ट्यूटोरियलमध्ये, तुम्ही साधा linear regression वापरला, जसे univariate किंवा multiple linear regression नाही. या पद्धतींमधील फरक लक्षात घेण्यासाठी थोडे वाचा किंवा हा व्हिडिओ पाहा.

पुनरावृत्ती संकल्पनेबद्दल अधिक वाचा आणि या तंत्राने कोणत्या प्रकारच्या प्रश्नांची उत्तरे देता येऊ शकतात याचा विचार करा. तुमची समज वाढवण्यासाठी हा ट्यूटोरियल घ्या.

असाइनमेंट

एक वेगळा डेटासेट


अस्वीकरण: हा दस्तऐवज AI भाषांतर सेवा Co-op Translator चा वापर करून अनुवादित केला आहे. जरी आम्ही अचूकतेसाठी प्रयत्न करतो, तरी कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेची कमतरता असू शकते. मूळ दस्तऐवज त्याच्या मूळ भाषेत अधिकृत स्रोत मानला पाहिजे. महत्त्वाची माहिती असल्यास, व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराच्या वापरामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थलावणीसाठी आम्ही जबाबदार नाही.