Scikit Learn - Régression linéaire

C'est l'un des meilleurs modèles statistiques qui étudie la relation entre une variable dépendante (Y) et un ensemble donné de variables indépendantes (X). La relation peut être établie à l'aide de l'ajustement d'une meilleure ligne.

sklearn.linear_model.LinearRegression est le module utilisé pour implémenter la régression linéaire.

Paramètres

Le tableau suivant comprend les paramètres utilisés par Linear Regression module -

Sr.Non Paramètre et description
1

fit_intercept - Booléen, facultatif, True par défaut

Utilisé pour calculer l'intersection du modèle. Aucune interception ne sera utilisée dans le calcul si cette valeur est définie sur false.

2

normalize - Booléen, facultatif, False par défaut

Si ce paramètre est défini sur True, le régresseur X sera normalisé avant la régression. La normalisation se fera en soustrayant la moyenne et en la divisant par la norme L2. Si fit_intercept = False, ce paramètre sera ignoré.

3

copy_X - Booléen, facultatif, True par défaut

Par défaut, il est vrai, ce qui signifie que X sera copié. Mais s'il est défini sur false, X peut être écrasé.

4

n_jobs - int ou None, facultatif (par défaut = None)

Il représente le nombre de travaux à utiliser pour le calcul.

Les attributs

Le tableau suivant comprend les attributs utilisés par Linear Regression module -

Sr.Non Attributs et description
1

coef_ - tableau, forme (n_features,) ou (n_targets, n_features)

Il est utilisé pour estimer les coefficients du problème de régression linéaire. Ce serait un tableau 2D de formes (n_targets, n_features) si plusieurs cibles sont passées pendant l'ajustement. Ex. (y 2D). D'un autre côté, ce serait un tableau 1D de longueur (n_features) si une seule cible est passée pendant l'ajustement.

2

Intercept_ - tableau

Il s'agit d'un terme indépendant dans ce modèle linéaire.

Exemple d'implémentation

Tout d'abord, importez les packages requis -

import numpy as np
from sklearn.linear_model import LinearRegression

Maintenant, fournissez les valeurs de la variable indépendante X -

X = np.array([[1,1],[1,2],[2,2],[2,3]])

Ensuite, la valeur de la variable dépendante y peut être calculée comme suit -

y = np.dot(X, np.array([1,2])) + 3

Maintenant, créez un objet de régression linéaire comme suit -

regr = LinearRegression(
   fit_intercept = True, normalize = True, copy_X = True, n_jobs = 2
)
.fit(X,y)

Utilisez la méthode prédire () pour prédire en utilisant ce modèle linéaire comme suit -

regr.predict(np.array([[3,5]]))

Production

array([16.])

Exemple

Pour obtenir le coefficient de détermination de la prédiction, nous pouvons utiliser la méthode Score () comme suit -

regr.score(X,y)

Production

1.0

Exemple

Nous pouvons estimer les coefficients en utilisant l'attribut nommé 'coef' comme suit -

regr.coef_

Production

array([1., 2.])

Exemple

Nous pouvons calculer l'intersection c'est-à-dire la valeur moyenne attendue de Y lorsque tout X = 0 en utilisant l'attribut nommé 'intercept' comme suit

In [24]: regr.intercept_
Output
3.0000000000000018

Code complet de l'exemple d'implémentation

import numpy as np
from sklearn.linear_model import LinearRegression
X = np.array([[1,1],[1,2],[2,2],[2,3]])
y = np.dot(X, np.array([1,2])) + 3
regr = LinearRegression(
   fit_intercept = True, normalize = True, copy_X = True, n_jobs = 2
).fit(X,y)
regr.predict(np.array([[3,5]]))
regr.score(X,y)
regr.coef_
regr.intercept_