स्किकिट-लर्न से प्रतिगमन मॉडल सारांश कैसे प्राप्त करें


अक्सर आप पायथन में स्किकिट-लर्न का उपयोग करके बनाए गए रिग्रेशन मॉडल का सारांश निकालना चाह सकते हैं।

दुर्भाग्य से, स्किकिट-लर्न एक प्रतिगमन मॉडल के सारांश का विश्लेषण करने के लिए कई अंतर्निहित कार्यों की पेशकश नहीं करता है, क्योंकि यह आम तौर पर केवल पूर्वानुमानित उद्देश्यों के लिए उपयोग किया जाता है।

इसलिए, यदि आप पायथन में एक प्रतिगमन मॉडल का सारांश प्राप्त करना चाहते हैं, तो आपके पास दो विकल्प हैं:

1. स्किकिट-लर्न के सीमित कार्यों का उपयोग करें।

2. इसके बजाय सांख्यिकीय मॉडल का प्रयोग करें।

निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित पांडा डेटाफ़्रेम के साथ व्यवहार में प्रत्येक विधि का उपयोग कैसे करें:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' x1 ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   ' x2 ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   ' y ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view first five rows of DataFrame
df. head ()

       x1 x2 y
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72

विधि 1: स्किकिट-लर्न से रिग्रेशन मॉडल सारांश प्राप्त करें

हम स्किकिट-लर्न का उपयोग करके एकाधिक रैखिक प्रतिगमन मॉडल को फिट करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

 from sklearn. linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[' x1 ', ' x2 ']], df. y

#fit regression model
model. fit (x,y)

फिर हम मॉडल से प्रतिगमन गुणांक के साथ-साथ मॉडल के आर-वर्ग मान को निकालने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

 #display regression coefficients and R-squared value of model
print (model. intercept_ , model. coef_ , model. score (X, y))

70.4828205704 [5.7945 -1.1576] 0.766742556527

इस आउटपुट का उपयोग करके, हम फिटेड रिग्रेशन मॉडल के लिए समीकरण लिख सकते हैं:

y = 70.48 + 5.79x 1 – 1.16x 2

यह भी देखा जा सकता है कि मॉडल का R2 मान 76.67 है।

इसका मतलब यह है कि प्रतिक्रिया चर में 76.67% भिन्नता को मॉडल में दो भविष्यवक्ता चर द्वारा समझाया जा सकता है।

यद्यपि यह परिणाम उपयोगी है, हम अभी भी मॉडल के समग्र एफ आंकड़े , व्यक्तिगत प्रतिगमन गुणांक के पी-मान और अन्य उपयोगी उपायों को नहीं जानते हैं जो हमें यह समझने में मदद कर सकते हैं कि मॉडल मॉडल में कितनी अच्छी तरह फिट बैठता है। डेटासेट.डेटासेट.

विधि 2: स्टैट्समॉडल से प्रतिगमन मॉडल सारांश प्राप्त करें

यदि आप पायथन में एक प्रतिगमन मॉडल का सारांश निकालना चाहते हैं, तो statsmodels पैकेज का उपयोग करना सबसे अच्छा है।

निम्नलिखित कोड दिखाता है कि पिछले उदाहरण के समान एकाधिक रैखिक प्रतिगमन मॉडल को फिट करने और मॉडल सारांश निकालने के लिए इस पैकेज का उपयोग कैसे करें:

 import statsmodels. api as sm

#define response variable
y = df[' y ']

#define predictor variables
x = df[[' x1 ', ' x2 ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: y R-squared: 0.767
Model: OLS Adj. R-squared: 0.708
Method: Least Squares F-statistic: 13.15
Date: Fri, 01 Apr 2022 Prob (F-statistic): 0.00296
Time: 11:10:16 Log-Likelihood: -31.191
No. Comments: 11 AIC: 68.38
Df Residuals: 8 BIC: 69.57
Df Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 70.4828 3.749 18.803 0.000 61.839 79.127
x1 5.7945 1.132 5.120 0.001 3.185 8.404
x2 -1.1576 1.065 -1.087 0.309 -3.613 1.298
==================================================== ============================
Omnibus: 0.198 Durbin-Watson: 1.240
Prob(Omnibus): 0.906 Jarque-Bera (JB): 0.296
Skew: -0.242 Prob(JB): 0.862
Kurtosis: 2.359 Cond. No. 10.7
==================================================== ============================

ध्यान दें कि प्रतिगमन गुणांक और आर-वर्ग मान स्किकिट-लर्न द्वारा गणना किए गए लोगों से मेल खाते हैं, लेकिन हमारे पास प्रतिगमन मॉडल के लिए अन्य उपयोगी मैट्रिक्स का एक टन भी है।

उदाहरण के लिए, हम प्रत्येक व्यक्तिगत भविष्यवक्ता चर के लिए पी-मान देख सकते हैं:

  • x 1 = 0.001 के लिए पी-मान
  • x 2 = 0.309 के लिए पी-मान

हम मॉडल का समग्र एफ-सांख्यिकी, समायोजित आर-वर्ग मान, मॉडल एआईसी मान और भी बहुत कुछ देख सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य ऑपरेशन कैसे करें:

पायथन में सरल रैखिक प्रतिगमन कैसे करें
पायथन में मल्टीपल लीनियर रिग्रेशन कैसे करें
पायथन में प्रतिगमन मॉडल के एआईसी की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *