मॉडल फिट को मात्रात्मक करना

Python में statsmodels के साथ Regression परिचय

Maarten Van den Broeck

Content Developer at DataCamp

ब्रीम और पर्च मॉडल

ब्रीम ब्रीम के द्रव्यमान बनाम लंबाई का स्कैटर प्लॉट, ट्रेंड लाइन सहित, जैसा पहले दिखाया गया था.

पर्च पर्च के द्रव्यमान बनाम लंबाई का स्कैटर प्लॉट, ट्रेंड लाइन सहित, जैसा पहले दिखाया गया था.

Python में statsmodels के साथ Regression परिचय

Coefficient of determination

कभी-कभी "r-squared" या "R-squared" कहा जाता है.

प्रतिक्रिया वैरिएबल में कुल वैरिएंस का वह हिस्सा जो व्याख्यात्मक वैरिएबल से अनुमानित हो सकता है

  • 1 का मतलब परफेक्ट फिट
  • 0 का मतलब सबसे खराब फिट
Python में statsmodels के साथ Regression परिचय

.summary()

"R-Squared" शीर्षक वाला मान देखें

mdl_bream = ols("mass_g ~ length_cm", data=bream).fit()
print(mdl_bream.summary())
# Some lines of output omitted                          

                            OLS Regression Results                         
Dep. Variable:                 mass_g   R-squared:                       0.878
Model:                            OLS   Adj. R-squared:                  0.874
Method:                 Least Squares   F-statistic:                     237.6
Python में statsmodels के साथ Regression परिचय

.rsquared एट्रिब्यूट

print(mdl_bream.rsquared)
0.8780627095147174
Python में statsmodels के साथ Regression परिचय

यह तो बस कोरिलेशन का स्क्वेयर है

coeff_determination = bream["length_cm"].corr(bream["mass_g"]) ** 2
print(coeff_determination)
0.8780627095147173
Python में statsmodels के साथ Regression परिचय

Residual standard error (RSE)

ब्रीम द्रव्यमान बनाम लंबाई स्कैटर प्लॉट के अवशेष, जैसा पहले देखा था

  • भविष्यवाणी और देखे गए प्रतिक्रिया के बीच "टिपिकल" अंतर
  • इकाई प्रतिक्रिया वैरिएबल के समान होती है.
  • MSE = RSE²
Python में statsmodels के साथ Regression परिचय

.mse_resid एट्रिब्यूट

mse = mdl_bream.mse_resid
print('mse: ', mse)
mse:  5498.555084973521
rse = np.sqrt(mse)
print("rse: ", rse)
rse:  74.15224261594197
Python में statsmodels के साथ Regression परिचय

RSE की गणना: अवशेषों का वर्ग

residuals_sq = mdl_bream.resid ** 2

print("residuals sq: \n", residuals_sq)
residuals sq: 
0      138.957118
1      260.758635
2     5126.992578
3     1318.919660
4      390.974309
    ...
30    2125.047026
31    6576.923291
32     206.259713
33     889.335096
34    7665.302003
Length: 35, dtype: float64
Python में statsmodels के साथ Regression परिचय

RSE की गणना: अवशेष वर्गों का योग

residuals_sq = mdl_bream.resid ** 2

resid_sum_of_sq = sum(residuals_sq)

print("resid sum of sq :",
      resid_sum_of_sq)
resid sum of sq : 181452.31780412616
Python में statsmodels के साथ Regression परिचय

RSE की गणना: degrees of freedom

residuals_sq = mdl_bream.resid ** 2

resid_sum_of_sq = sum(residuals_sq)

deg_freedom = len(bream.index) - 2

print("deg freedom: ", deg_freedom)

Degrees of freedom पर्यवेक्षणों की संख्या माइनस मॉडल कोएफिशिएंट्स की संख्या के बराबर होता है.

deg freedom:  33
Python में statsmodels के साथ Regression परिचय

RSE की गणना: अनुपात का स्क्वेयर रूट

residuals_sq = mdl_bream.resid ** 2

resid_sum_of_sq = sum(residuals_sq)

deg_freedom = len(bream.index) - 2

rse = np.sqrt(resid_sum_of_sq/deg_freedom)

print("rse :", rse)
rse : 74.15224261594197
Python में statsmodels के साथ Regression परिचय

RSE की व्याख्या

mdl_bream का RSE 74 है.

भविष्यवाणी किए गए ब्रीम द्रव्यमान और देखे गए द्रव्यमान में अंतर आम तौर पर लगभग 74g है.

Python में statsmodels के साथ Regression परिचय

रूट-मीन्स-क्वेयर एरर (RMSE)

residuals_sq = mdl_bream.resid ** 2

resid_sum_of_sq = sum(residuals_sq)

deg_freedom = len(bream.index) - 2

rse = np.sqrt(resid_sum_of_sq/deg_freedom)

print("rse :", rse)
rse : 74.15224261594197
residuals_sq = mdl_bream.resid ** 2

resid_sum_of_sq = sum(residuals_sq)

n_obs = len(bream.index)

rmse = np.sqrt(resid_sum_of_sq/n_obs)

print("rmse :", rmse)
rmse : 72.00244396727619
Python में statsmodels के साथ Regression परिचय

अभ्यास करते हैं!

Python में statsmodels के साथ Regression परिचय

Preparing Video For Download...