रेखीय प्रतिगमन की बुनियाद

scikit-learn के साथ Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

प्रतिगमन की कार्यप्रणाली

  • $y = ax + b$

    • साधारण रेखीय प्रतिगमन एक ही फीचर उपयोग करता है

      • $y$ = लक्ष्य

      • $x$ = एकल फीचर

      • $a$, $b$ = मॉडल के पैरामीटर/कोएफिशिएंट्स - ढलान, इंटरसेप्ट

  • $a$ और $b$ कैसे चुनें?

    • किसी भी रेखा के लिए एक त्रुटि फंक्शन परिभाषित करें

    • वह रेखा चुनें जो त्रुटि फंक्शन को न्यूनतम करे

  • Error function = loss function = cost function

scikit-learn के साथ Supervised Learning

लॉस फंक्शन

स्कैटर प्लॉट

scikit-learn के साथ Supervised Learning

लॉस फंक्शन

रेखीय प्रतिगमन रेखा नीचे-बाएँ से ऊपर-दाएँ, प्रेक्षणों के बीच से होकर

scikit-learn के साथ Supervised Learning

लॉस फंक्शन

हर प्रेक्षण तक प्रतिगमन रेखा से लाल रेखाएँ

scikit-learn के साथ Supervised Learning

लॉस फंक्शन

लाल रेखाएँ रेसिडुअल्स दर्शाती हैं

scikit-learn के साथ Supervised Learning

लॉस फंक्शन

ऊपर स्थित प्रेक्षण के लिए सकारात्मक रेसिडुअल दर्शाता तीर

scikit-learn के साथ Supervised Learning

ऑर्डिनरी लीज़्ट स्क्वेर्स

रेgression रेखा के नीचे एक रेसिडुअल की ओर संकेत करता दूसरा तीर, नकारात्मक रेसिडुअल

$RSS = $ $\displaystyle\sum_{i=1}^{n}(y_i-\hat{y_i})^2$

Ordinary Least Squares (OLS): RSS को न्यूनतम करें

scikit-learn के साथ Supervised Learning

उच्च आयामों में रेखीय प्रतिगमन

$$ y = a_{1}x_{1} + a_{2}x_{2} + b$$

  • यहाँ रेखीय प्रतिगमन फिट करने के लिए:
    • 3 वैरिएबल बताने होंगे: $ a_1,\ a_2,\ b $
  • उच्च आयामों में:
    • इसे multiple regression कहते हैं
    • हर फीचर के लिए कोएफिशिएंट्स और वैरिएबल $b$ बताने होंगे

$$ y = a_{1}x_{1} + a_{2}x_{2} + a_{3}x_{3} +... + a_{n}x_{n}+ b$$

  • scikit-learn में तरीका वही है:
    • दो arrays पास करें: features और target
scikit-learn के साथ Supervised Learning

सभी फीचर्स के साथ रेखीय प्रतिगमन

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
reg_all = LinearRegression()
reg_all.fit(X_train, y_train)
y_pred = reg_all.predict(X_test)
scikit-learn के साथ Supervised Learning

R-squared

  • $R^2$: फीचर्स द्वारा समझाई गई target मानों की वैरिएंस को मापता है

    • मान 0 से 1 तक होते हैं
  • High $R^2$:

45 डिग्री पर चलती रेखा, अधिकतर प्रेक्षणों के करीब

 

 

  • Low $R^2$:

क्षैतिज रेखा; प्रेक्षण रेखा से दूर बिखरे हुए

scikit-learn के साथ Supervised Learning

scikit-learn में R-squared

reg_all.score(X_test, y_test)
0.356302876407827
scikit-learn के साथ Supervised Learning

Mean squared error and root mean squared error

$MSE = $ $\displaystyle\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y_i})^2$

  • $MSE$ लक्ष्य यूनिट्स के वर्ग में मापा जाता है

 

$RMSE = $ $\sqrt{MSE}$

  • $RMSE$ को लक्ष्य वैरिएबल की वही यूनिट्स में मापें
scikit-learn के साथ Supervised Learning

scikit-learn में RMSE

from sklearn.metrics import root_mean_squared_error

root_mean_squared_error(y_test, y_pred)
24.028109426907236
scikit-learn के साथ Supervised Learning

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

scikit-learn के साथ Supervised Learning

Preparing Video For Download...