पायथन में रैखिक प्रतिगमन मॉडल बनाने के लिए चरण-दर-चरण गाइड
डेटा-संचालित निर्णय लेने की शक्ति को अनलॉक करें इस व्यापक गाइड के साथ जो पायथन में रैखिक प्रतिगमन को लागू करने पर केंद्रित है। चाहे आप डेटा विज्ञान में एक शुरुआतकर्ता हों या अपनी मशीन लर्निंग कौशल को परिष्कृत करना चाहते हों, यह ट्यूटोरियल आपको संपूर्ण प्रक्रिया के माध्यम से मार्गदर्शित करेगा, डेटा सेट को समझने से लेकर सटीक भविष्यवाणियाँ करने तक।
विषय सूची
- रैखिक प्रतिगमन का परिचय
- डेटासेट को समझना
- अपना पायथन वातावरण सेट करना
- डेटा आयात करना और अन्वेषण करना
- डेटा की पूर्वप्रसंस्करण
- रैखिक प्रतिगमन मॉडल बनाना
- भविष्यवाणियाँ करना
- मॉडल का मूल्यांकन
- निष्कर्ष
- अतिरिक्त संसाधन
रैखिक प्रतिगमन का परिचय
रैखिक प्रतिगमन मशीन लर्निंग और सांख्यिकी के क्षेत्र में एक मौलिक एल्गोरिदम है। यह अवलोकित डेटा पर एक रैखिक समीकरण फिट करके एक आश्रित चर और एक या अधिक स्वतंत्र चरों के बीच संबंध स्थापित करता है। इस तकनीक का व्यापक रूप से भविष्यसूचक विश्लेषण, पूर्वानुमान और पूर्वानुमानकर्ताओं की ताकत को समझने के लिए उपयोग किया जाता है।
मुख्य विषय:
- रैखिक प्रतिगमन क्या है?
- रैखिक प्रतिगमन के अनुप्रयोग
- रैखिक vs. गैर-रैखिक प्रतिगमन
- लागत फ़ंक्शन और अनुकूलन
डेटासेट को समझना
इस ट्यूटोरियल के लिए, हम कनाडा प्रति व्यक्ति आय डेटासेट का उपयोग करेंगे, जो Kaggle पर उपलब्ध है। इस डेटासेट में कनाडा में सालाना प्रति व्यक्ति आय शामिल है, जिसे यूएस डॉलर में मापा गया है।
डेटासेट अवलोकन:
- कॉलम:
year
: रिकॉर्ड की गई आय का वर्ष।per capita income (US$)
: प्रति व्यक्ति आय USD में।
नमूना डेटा:
year | per capita income (US$) |
---|---|
1970 | 3399.299037 |
1971 | 3768.297935 |
1972 | 4251.175484 |
1973 | 4804.463248 |
1974 | 5576.514583 |
अपना पायथन वातावरण सेट करना
कोड में गहराई से जाने से पहले, सुनिश्चित करें कि आपका पायथन वातावरण आवश्यक लाइब्रेरी के साथ सेट किया गया है। हम निम्नलिखित का उपयोग करेंगे:
- NumPy: संख्यात्मक संचालन के लिए।
- Pandas: डेटा हेरफेर और विश्लेषण के लिए।
- Matplotlib & Seaborn: डेटा विज़ुअलाइज़ेशन के लिए।
- Scikit-Learn: रैखिक प्रतिगमन मॉडल बनाने और मूल्यांकन करने के लिए।
स्थापना आदेश:
1 |
pip install numpy pandas matplotlib seaborn scikit-learn |
डेटा आयात करना और अन्वेषण करना
आवश्यक लाइब्रेरी को आयात करके और डेटासेट को पांडा DataFrame में लोड करके शुरू करें।
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # सेट करें seaborn शैली बेहतर सौंदर्यशास्त्र के लिए sns.set() # डेटासेट लोड करें data = pd.read_csv('canada_per_capita_income.csv') # पहले कुछ पंक्तियों को प्रदर्शित करें print(data.head()) |
आउटपुट:
1 2 3 4 5 6 |
year per capita income (US$) 0 1970 3399.299037 1 1971 3768.297935 2 1972 4251.175484 3 1973 4804.463248 4 1974 5576.514583 |
डेटा का विज़ुअलाइज़ेशन:
डेटा को विज़ुअलाइज़ करना महत्वपूर्ण है ताकि अंतर्निहित पैटर्न और संबंधों को समझा जा सके।
1 2 3 4 5 6 |
# संबंध को विज़ुअलाइज़ करने के लिए स्कैटर प्लॉट sns.scatterplot(data=data, x='year', y='per capita income (US$)') plt.title('Canada Per Capita Income Over Years') plt.xlabel('Year') plt.ylabel('Per Capita Income (US$)') plt.show() |
*यह स्कैटर प्लॉट एक सकारात्मक रैखिक प्रवृत्ति को दर्शाता है, जो इंगित करता है कि प्रति व्यक्ति आय सामान्यतः वर्षों के साथ बढ़ी है।*
डेटा की पूर्वप्रसंस्करण
डेटा की पूर्वप्रसंस्करण यह सुनिश्चित करती है कि डेटासेट स्वच्छ और एक प्रभावी मॉडल बनाने के लिए उपयुक्त है।
1. गुम मानों की जाँच करना
1 2 |
# null मानों की जाँच करें print(data.isnull().sum()) |
आउटपुट:
1 2 3 |
year 0 per capita income (US$) 0 dtype: int64 |
*कोई गुम मान नहीं पाए गए।*
2. फीचर्स और लक्ष्य चर को विभाजित करना
1 2 3 4 5 |
# फीचर्स X = data.iloc[:, :-1] # अंतिम कॉलम के अलावा सभी कॉलम # लक्ष्य चर Y = data.iloc[:, -1] # अंतिम कॉलम |
3. ट्रेन-टेस्ट विभाजन
डेटासेट को प्रशिक्षण और परीक्षण सेट में विभाजित करने से हमें अप्रत्याशित डेटा पर मॉडल के प्रदर्शन का मूल्यांकन करने की अनुमति मिलती है।
1 2 3 4 |
from sklearn.model_selection import train_test_split # डेटा को विभाजित करें (80% प्रशिक्षण, 20% परीक्षण) X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.20, random_state=1) |
*एक रैंडम स्टेट का उपयोग परिणामों की पुनरुत्पादकता सुनिश्चित करता है।*
रैखिक प्रतिगमन मॉडल बनाना
डेटा तैयार होने के बाद, हम अब रैखिक प्रतिगमन मॉडल बना सकते हैं।
1 2 3 4 5 6 7 |
from sklearn.linear_model import LinearRegression # मॉडल प्रारंभ करें model = LinearRegression() # मॉडल को प्रशिक्षित करें model.fit(X_train, y_train) |
मॉडल सारांश:
1 |
print(model) |
आउटपुट:
1 |
LinearRegression() |
*यह आउटपुट संकेत करता है कि हमारा मॉडल भविष्यवाणियाँ करने के लिए तैयार है।*
भविष्यवाणियाँ करना
प्रशिक्षित मॉडल का उपयोग करके, हम परीक्षण डेटासेट के लिए प्रति व्यक्ति आय की भविष्यवाणी कर सकते हैं।
1 2 3 4 5 6 |
# परीक्षण सेट पर भविष्यवाणियाँ करें y_pred = model.predict(X_test) # भविष्यवाणियों को वास्तविक मूल्यों के साथ प्रदर्शित करें comparison = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred}) print(comparison) |
*यह तुलना हमें यह देखने में मदद करती है कि हमारे मॉडल की भविष्यवाणियाँ वास्तविक डेटा से कितनी मेल खाती हैं।*
मॉडल का मूल्यांकन
मॉडल के प्रदर्शन का मूल्यांकन यह समझने के लिए महत्वपूर्ण है कि इसकी सटीकता और विश्वसनीयता कितनी है।
1. R² स्कोर की गणना
R² स्कोर, जिसे निर्धारण गुणांक के रूप में भी जाना जाता है, इंगित करता है कि डेटा प्रतिगमन मॉडल में कितनी अच्छी तरह फिट होता है।
1 2 3 4 5 |
from sklearn.metrics import r2_score # R² की गणना करें r2 = r2_score(y_test, y_pred) print(f'R² Score: {r2:.2f}') |
व्याख्या:
- R² = 1: परफेक्ट फिट।
- R² = 0: मॉडल किसी भी परिवर्तनशीलता की व्याख्या नहीं करता।
- 0 < R² < 1: मॉडल द्वारा व्याख्यायित वैरिएंस का अनुपात सूचित करता है।
*हमारे मामले में, उच्च R² मान बेहतर फिट का संकेत देता है।*
2. भविष्यवाणियाँ बनाम वास्तविक मूल्यों का विज़ुअलाइज़ेशन
1 2 3 4 5 6 7 8 9 |
# वास्तविक बनाम भविष्यवाणियाँ मानों को प्लॉट करना plt.figure(figsize=(10,6)) plt.scatter(X_test, y_test, color='blue', label='Actual') plt.scatter(X_test, y_pred, color='red', label='Predicted') plt.title('Actual vs Predicted Per Capita Income') plt.xlabel('Year') plt.ylabel('Per Capita Income (US$)') plt.legend() plt.show() |
*यह विज़ुअलाइज़ेशन विभिन्न वर्षों में भविष्यवाणियों की सटीकता का आकलन करने में मदद करता है।*
निष्कर्ष
इस ट्यूटोरियल में, हमने कनाडा प्रति व्यक्ति आय डेटासेट का उपयोग करके पायथन में रैखिक प्रतिगमन मॉडल बनाने की प्रक्रिया में गहराई से पहुँचा। डेटासेट को समझने से लेकर पूर्वप्रसंस्करण, मॉडल निर्माण, भविष्यवाणी, और मूल्यांकन तक, प्रत्येक चरण सटीक और विश्वसनीय भविष्यसूचक मॉडल विकसित करने के लिए महत्वपूर्ण है।
मुख्य निष्कर्ष:
- रैखिक प्रतिगमन सतत चर की भविष्यवाणी के लिए एक शक्तिशाली उपकरण है।
- सही डेटा पूर्वप्रसंस्करण मॉडल के प्रदर्शन को बढ़ाता है।
- विज़ुअलाइज़ेशन डेटा प्रवृत्तियों और मॉडल की सटीकता को समझने में मदद करती है।
- R² जैसे मूल्यांकन मीट्रिक मॉडल की प्रभावशीलता का आकलन करने के लिए आवश्यक हैं।
आगे के कदम:
- अधिक जटिल डेटासेट की खोज करें जिनमें कई फीचर्स हों।
- रिज़ और लासो प्रतिगमन जैसी अन्य प्रतिगमन तकनीकों के बारे में जानें।
- श्रेणीबद्ध डेटा समस्याओं के लिए वर्गीकरण एल्गोरिदम में गहराई से जाएँ।
अतिरिक्त संसाधन
- Scikit-Learn दस्तावेज़ीकरण
- Kaggle: कनाडा प्रति व्यक्ति आय डेटासेट
- Python डेटा साइंस हैंडबुक बाई जेक वांडरप्लास
- Google द्वारा मशीन लर्निंग क्रैश कोर्स
अपने डेटा विज्ञान की यात्रा को पायथन में रैखिक प्रतिगमन में महारत हासिल करके सशक्त बनाएं। मशीन लर्निंग और डेटा विश्लेषण में और अधिक ट्यूटोरियल और अंतर्दृष्टि के लिए बने रहें!