|
|
3 weeks ago | |
|---|---|---|
| .. | ||
| solution | 8 months ago | |
| README.md | 3 weeks ago | |
| assignment.md | 8 months ago | |
| notebook.ipynb | ||
README.md
Regression मोडेलहरूका लागि Python र Scikit-learn मा सुरु गर्नुहोस्
स्केचनोट Tomomi Imura द्वारा
पूर्व-व्याख्यान क्विज
यो पाठ R मा उपलब्ध छ!
परिचय
यी चार पाठहरूमा, तपाइँले regression मोडेलहरू कसरी बनाउने थाहा पाउनुहुनेछ। हामी चाँडै यी मोडेलहरूको उद्देश्य के हो भन्ने कुरा छलफल गर्नेछौं। तर केही गर्नु अघि, प्रक्रिया सुरु गर्न सही उपकरणहरु भएको सुनिश्चित गर्नुहोस्!
यस पाठमा, तपाइँ सिक्नुहुनेछ कि:
- तपाइँको कम्प्युटरलाई स्थानीय मेसिन लर्निङ कार्यहरूका लागि कसरी सेटअप गर्ने।
- Jupyter Notebooks सँग कसरी काम गर्ने।
- Scikit-learn को प्रयोग गर्ने, स्थापना सहित।
- linear regression लाई हातमा अभ्यास गरेर अन्वेषण गर्ने।
स्थापना र कन्फिगरेसनहरू
🎥 माथिको तस्वीरमा क्लिक गर्नुहोस् छोटो भिडियोका लागि जसले तपाईको कम्प्युटरलाई ML का लागि कन्फिगर गर्ने प्रक्रिया देखाउँदछ।
-
Python स्थापना गर्नुहोस्। सुनिश्चित गर्नुहोस् कि तपाइँको कम्प्युटरमा Python स्थापना गरिएको छ। तपाइँ धेरै डाटा विज्ञान र मेसिन लर्निङ कार्यहरूका लागि Python प्रयोग गर्नेछ। धेरै कम्प्युटर प्रणालीहरूमा पहिले नै Python स्थापना भएको हुन्छ। केही प्रयोगकर्ताहरूको लागि सजिलो पार्न, उपयोगी Python Coding Packs पनि उपलब्ध छन्।
तर Python को केही प्रयोगले एक भिन्न संस्करण चाहिन्छ, भने अन्यलाई अर्को संस्करण। यसैले, virtual environment भित्र काम गर्नु उपयोगी हुन्छ।
-
Visual Studio Code स्थापना गर्नुहोस्। सुनिश्चित गर्नुहोस् कि तपाइँको कम्प्युटरमा Visual Studio Code स्थापना गरिएको छ। यसलाई आधारभूत रूपमा स्थापना गर्नका लागि यी निर्देशनहरू अनुसरण गर्नुहोस्: Visual Studio Code स्थापना। यस कोर्समा तपाइँ Python लाई Visual Studio Code मा प्रयोग गर्न जाँदै हुनुहुन्छ, त्यसैले कसरी Python विकासका लागि Visual Studio Code सेटअप गर्ने सिक्न मन लाग्न सक्छ।
Python मा सजिलो बनाउन यो Learn modules सङ्ग्रहमा काम गर्दै जानुहोस्।
🎥 माथिको चित्रमा क्लिक गर्नुहोस् भिडियोका लागि: VS Code भित्र Python प्रयोग गर्दै।
-
Scikit-learn स्थापना गर्नुहोस्। यी निर्देशनहरू अनुसरण गरेर। तपाइँले Python 3 प्रयोग गर्ने सुनिश्चित गर्नुपर्ने भएकाले virtual environment प्रयोग गर्नु सिफारिस गरिएको छ। यदि तपाइँ M1 Mac मा यो लाइब्रेरी स्थापना गर्दै हुनुहुन्छ भने माथिको लिंकमा विशेष निर्देशनहरू छन्।
-
Jupyter Notebook स्थापना गर्नुहोस्। तपाइँले Jupyter प्याकेज स्थापना गर्न आवश्यक पर्दछ।
तपाइँको ML विकास वातावरण
तपाइँले Python कोड विकास गर्न र मेसिन लर्निङ मोडेलहरू सिर्जना गर्न notebooks प्रयोग गर्नुहुनेछ। यो प्रकारको फाइल डाटा वैज्ञानिकहरूका लागि सामान्य उपकरण हो र .ipynb एक्सटेन्सन वा फाइल नाउँबाट चिनिन्छ।
नोटबुकहरू अन्तरक्रियात्मक वातावरण हुन् जसले विकासकर्तालाई कोड गर्ने र कोड वरिपरि नोटहरू तथा कागजातहरू लेख्न अनुमति दिन्छ, यो विशेष गरी प्रायोगात्मक वा अनुसन्धान आधारित परियोजनाहरूका लागि धेरै उपयोगी छ।
🎥 माथिको तस्वीरमा क्लिक गर्नुहोस् छोटो भिडियोका लागि जसले यो अभ्यास देखाउँदछ।
अभ्यास - नोटबुकसंग काम गर्नुहोस्
यस फोल्डरमा, तपाइँले notebook.ipynb फाइल पाउनुहुनेछ।
-
Visual Studio Code मा notebook.ipynb खोल्नुहोस्।
Jupyter सर्भर Python 3+ सँग सुरु हुनेछ। तपाइँ नोटबुकका भागहरू पाउनुहुनेछ जुन
runगर्न सकिन्छ, कोडका टुक्राहरू। तपाइँले कोड ब्लक चलाउन प्ले बटन जस्तो आइकन छान्न सक्नुहुन्छ। -
mdआइकन छान्नुहोस् र अलि markdown थप्नुहोस्, र तलको पाठ थप्नुहोस् # Welcome to your notebook।अब, केही Python कोड थप्नुहोस्।
-
कोड ब्लकमा टाइप गर्नुहोस् print('hello notebook')।
-
कोड चलाउन तीर आइकन छान्नुहोस्।
तपाइँले तलको मुद्रित वक्तव्य देख्नु पर्नेछ:
hello notebook
तपाइँले आफ्नो कोडलाई टिप्पणीहरूसँग मिलाएर नोटबुक स्व-डोकुमेन्ट गर्न सक्नुहुन्छ।
✅ सोच्नुहोस् कि वेब विकासकर्ताको काम गर्ने वातावरण र डाटा वैज्ञानिकको वातावरण कति फरक हुन्छ।
Scikit-learn सँग सुरु र चलाउनुहोस्
अहिले Python तपाइँको स्थानीय वातावरणमा सेट अप भइसकेको छ, र Jupyter Notebooks मा सहज हुनुहुन्छ, अब Scikit-learn सँग पनि उस्तै सहज बनौं (sci लाई science जस्तै उच्चारण गर्नुहोस्)। Scikit-learn ले ML कार्यहरू गर्न मद्दत गर्ने विस्तृत API प्रदान गर्दछ।
तिनीहरूको वेबसाइट अनुसार, "Scikit-learn एक खुला स्रोत मेसिन लर्निङ लाइब्रेरी हो जसले supervised र unsupervised learning दुवै समर्थन गर्दछ। साथै मोडेल फिटिङ, डाटा पूर्वप्रशोधन, मोडेल चयन र मूल्यांकन, र अन्य धेरै युटिलिटीज प्रदान गर्दछ।"
यस कोर्समा, तपाइँले Scikit-learn र अन्य उपकरणहरू प्रयोग गरेर 'परम्परागत मेसिन लर्निङ' कार्यहरू गर्ने मेसिन लर्निङ मोडेलहरू बनाउनेछौं। हामी जानबुझेर neural networks र deep learning माथि ध्यान दिएका छैनौं, जुन हाम्रो आउँदो 'AI for Beginners' पाठ्यक्रममा राम्रोसँग समेटिएको छ।
Scikit-learn ले मोडेलहरू बनाउन र प्रयोग गर्न सजिलो बनाउँछ। यो मुख्य रूपमा अंक संख्यात्मक डाटामा केन्द्रित छ र सिकाइ उपकरणहरूका लागि धेरै तयार डेटा सेटहरू समावेश गर्दछ। यसले विद्यार्थीहरूले प्रयास गर्न प्रि-बिल्ट मोडेलहरू पनि समावेश गर्दछ। अब हामी prepackaged डाटा लोड गर्ने र Scikit-learn को built-in मोडेल प्रयोग गरेर पहिलो ML मोडेल बनाउन प्रक्रिया अन्वेषण गर्नेछौं।
अभ्यास - तपाइँको पहिलो Scikit-learn नोटबुक
यो ट्युटोरियल Scikit-learn को वेबसाइटमा रहेको lineār regression उदाहरण बाट प्रेरित छ।
🎥 माथिको तस्वीरमा क्लिक गर्नुहोस् छोटो भिडियोका लागि जुन यो अभ्यास देखाउँदछ।
यस पाठसँग सम्बन्धित notebook.ipynb फाइलमा सबै सेलहरू 'trash can' आइकन थिचेर खाली गर्नुहोस्।
यस भागमा, तपाइँले Scikit-learn मा सिकाइका लागि बनाइएको मध्यम सानो डायबिटीज डेटासेटसँग काम गर्नु हुनेछ। विचार गर्नुहोस् तपाइँले डायबेटिक बिरामीहरूको उपचार परीक्षण गर्न चाहनुहुन्छ। मेसिन लर्निङ मोडेलहरूले कुन बिरामीले उपचारमा राम्रो प्रतिक्रिया दिने निर्धारण गर्न मद्दत गर्न सक्छ, भेरिएबलहरूको संयोजनहरूका आधारमा। एउटा सरल regression मोडेलले पनि, दृश्यात्मक रूपमा प्रस्तुत गर्दा, भेरिएबलहरूको बारेमा सूचना देखाउन सक्छ जसले तपाइँलाई आफ्नो थियोरिटिकल क्लिनिकल ट्रायलहरू व्यवस्थित गर्न मद्दत गर्न सक्छ।
✅ धेरै प्रकारका regression मेथडहरू छन्, र कुन मेथड छनौट गर्ने तपाइँको प्रश्न कस्तो छ भन्नेमा निर्भर गर्दछ। यदि तपाइँ कुनै व्यक्तिको उमेरको लागि सम्भावित उचाइ अन्दाज गर्न चाहानुहुन्छ भने, तपाइँ linear regression प्रयोग गर्नुहुनेछ, किनभने तपाइँले एक संख्यात्मक मान खोज्दै हुनुहुन्छ। यदि तपाइँ थाहा पाउन चाहनुहुन्छ कि कुनै प्रकारको खाना वेगन हो कि होइन भने, तपाइँ श्रेणी निर्धारण खोज्दै हुनुहुन्छ र यसको लागि logistic regression प्रयोग गर्नुहुनेछ। logistic regression पछि सिक्नुहुनेछ। अलि सोच्नुहोस् कि तपाइँले डाटाबाट कुन प्रश्नहरू सोध्न सक्नुहुन्छ, र कुन मेथड उपयुक्त हुन्छ।
अब यो कार्य सुरु गरौं।
पुस्तकालयहरू आयात गर्नुहोस्
यस कार्यका लागि हामी केही पुस्तकालयहरू आयात गर्नेछौं:
- matplotlib। यो उपयोगी ग्राफ उपकरण हो र हामी यसलाई लाइन प्लट बनाउन प्रयोग गर्नेछौं।
- numpy। numpy Python मा संख्यात्मक डेटा ह्यान्डल गर्न उपयोगी पुस्तकालय हो।
- sklearn। यो Scikit-learn लाइब्रेरी हो।
कति पुस्तकालयहरू आयात गर्नुहोस् जसले तपाइँको कार्यहरूलाई मद्दत गर्दछ।
-
निम्न कोड टाइप गरेर आयातहरू थप्नुहोस्:
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 dataset मा 442 डायबिटीज सम्बन्धी डेटा नमूनाहरू छन्, जसमा 10 सुविधा भेरिएबलहरू छन्, जसमध्ये केहि समावेश छन्:
- उमेर: वर्षमा उमेर
- bmi: शरीरको मास सूचकांक
- bp: औसत रक्तचाप
- s1 tc: टी-सेलहरू (सेतो रक्तकणहरू मध्ये एक प्रकार)
✅ यो डेटासेटमा 'sex' को अवधारणा पनि छ जुन डायबिटीज अनुसन्धानका लागि महत्वपूर्ण सुविधा भेरिएबल हो। धेरै मेडिकल डेटासेटहरूले यस्तो द्विविध वर्गीकरण समावेश गर्छन्। अलि सोच्नुहोस् यस्ता वर्गीकरणले कसरी जनसंख्याका केही भागहरूलाई उपचारबाट बहिष्कृत गर्न सक्छ।
अब, X र y डेटा लोड गर्नुहोस्।
🎓 सम्झनुहोस्, यो supervised learning हो र हामीलाई नामयुक्त 'y' लक्ष्य चाहिन्छ।
नयाँ कोड सेलमा, load_diabetes() कल गरेर डायबिटीज डेटासेट लोड गर्नुहोस्। return_X_y=True इनपुटले संकेत गर्दछ कि X डाटा म्याट्रिक्स हुनेछ र y regression लक्ष्य हुनेछ।
-
डाटा म्याट्रिक्सको आकार र यसको पहिलो तत्त्व देखाउन केही print आदेश थप्नुहोस्:
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]✅ डाटा र regression लक्ष्य बीचको सम्बन्धका बारेमा अलि सोच्नुहोस्। Linear regression ले सुविधा X र लक्ष्य बदलि y बीच सम्बन्धहरूको पूर्वानुमान गर्छ। डायबिटीज डेटासेटका लागि लक्ष्य के छ भन्ने दस्तावेजमा खोज्नुहोस्। यो डेटासेट के देखाउँदैछ, त्यो लक्ष्यलाई ध्यानमा राख्दा?
-
अब, यो डेटासेटको केही भाग चयन गरेर प्लट बनाउने तयारी गर्नुहोस्। डेटासेटको 3र्ो स्तम्भ चयन गर्नुहोस्। सबै पंक्तिहरू चयन गर्न
:अपरेटर प्रयोग गर्न सक्नुहुन्छ, त्यसपछि 3र्ो स्तम्भका लागि सुचकांक (2) प्रयोग गर्नुहोस्। प्लटिङको लागि आवश्यक २D एरे बनाउनreshape(n_rows, n_columns)पनि गर्न सक्नुहुन्छ। यदि कुनै पैरामीटर -1 छ भने, सो सन्दर्भको आयाम स्वचालित रूपमा गणना हुन्छ।X = X[:, 2] X = X.reshape((-1,1))✅ कुनै पनि समयमा डाटाको आकार जाँच्न प्रिन्ट गर्नुहोस्।
-
अब जब तपाइँसँग प्लट तयार डाटा छ, तपाइँ हेर्न सक्नुहुन्छ कि मेसिनले यस डेटासेटका संख्या बीच तार्किक विभाजन कसरी निर्धारण गर्छ। यसको लागि, तपाइँले डाटा (X) र लक्ष्य (y) दुवैलाई परीक्षण र प्रशिक्षण सेटमा विभाजन गर्नुपर्नेछ। Scikit-learn ले यो सजिलो बनाउँछ; तपाइँ परीक्षण डाटा कुनै निश्चित स्थानमा विभाजन गर्न सक्नुहुन्छ।
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.33) -
अब तपाइँ मोडेललाई प्रशिक्षण दिन तयार हुनुहुन्छ! linear regression मोडेल लोड गर्नुहोस् र तपाइँको X र y प्रशिक्षण सेटहरू प्रयोग गरी
model.fit()ले ट्रेन गर्नुहोस्:model = linear_model.LinearRegression() model.fit(X_train, y_train)✅
model.fit()धेरै ML लाइब्रेरीहरू जस्तै TensorFlow मा देखिने एउटा फङ्क्सन हो। -
त्यसपछि, परीक्षण डाटा प्रयोग गरेर
predict()फङ्क्सनले पूर्वानुमान बनाउनुहोस्। यसले डाटा समूहहरूको बीचमा रेखा तान्न प्रयोग हुनेछ।y_pred = model.predict(X_test) -
अब डाटालाई प्लटमा देखाउने बेला हो। Matplotlib यो कामका लागि अत्यन्त उपयोगी उपकरण हो। सबै X र y परीक्षण डाटाको scatterplot बनाउनुहोस्, र मोडेलको डाटा समूहहरूको बीचमा ठीक स्थानमा रेखा तान्न पूर्वानुमान प्रयोग गर्नुहोस्।
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 अक्षसँग सम्बन्धमा कहाँ पर्नुपर्छ भनेर पूर्वानुमान गर्न यो रेखा कसरी प्रयोग गर्न सकिन्छ? यस मोडेलको व्यवहारिक उपयोगलाई शब्दमा राख्न प्रयास गर्नुहोस्।
बधाई छ, तपाइँले पहिलो linear regression मोडेल बनायो, त्यसको प्रयोग गरेर पूर्वानुमान सिर्जना गर्यो, र प्लटमा देखाउनुभयो!
🚀चुनौती
यो डेटासेटबाट अर्को भेरिएबल प्लट गर्नुहोस्। संकेत: यो लाइन सम्पादन गर्नुहोस्: X = X[:,2]। यो डेटासेटको लक्ष्यलाई ध्यानमा राख्दै, तपाइँ डायबिटीजको रोगको प्रगति बारे के पत्ता लगाउन सक्नुहुन्छ?
पाठ्यक्रम-पश्चात क्विज
समीक्षा र स्व-अध्ययन
यस ट्युटोरियलमा, तपाइँले सरल linear regression सँग काम गर्नुभयो, univariate वा multiple linear regressionसंग होइन। यी विधिहरूबीच फरकहरूबारे अलि पढ्नुहोस्, वा यस भिडियो हेर्नुहोस्।
पुनर regression को अवधारणाको बारेमा थप पढ्नुहोस् र विचार गर्नुहोस् कि यस प्रविधिद्वारा कस्ता प्रकारका प्रश्नहरूको उत्तर दिन सकिन्छ। आफ्नो बुझाइलाई गहिरो बनाउन यो tutorial लिनुहोस्।
असाइनमेन्ट
अस्वीकरण: यो दस्तावेज़ AI अनुवाद सेवा Co-op Translator प्रयोग गरेर अनुवाद गरिएको हो। हामी सही हुन प्रयास गर्छौं, तर कृपया जानकार हुनुस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छन्। मूल दस्तावेज़ यसको मूल भाषामा आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीका लागि व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न कुनै पनि गलत बुझाइ वा त्रुटिको लागि हामी जिम्मेवार छैनौं।






