Recherche…


Moindres Carrés Ordinaires

Les moindres carrés ordinaires est une méthode permettant de trouver la combinaison linéaire des caractéristiques qui correspond le mieux au résultat observé dans le sens suivant.

Si le vecteur des résultats à prédire est y et que les variables explicatives forment la matrice X , alors OLS trouvera le vecteur β résolvant

min β | y ^ - y | 2 2

y ^ = X β est la prédiction linéaire.

Dans sklearn, cela se fait en utilisant sklearn.linear_model.LinearRegression .

Contexte d'application

OLS ne devrait être appliqué qu'aux problèmes de régression, il est généralement inadapté aux problèmes de classification: Contraste

  • Un spam est-il un email? (Classfication)
  • Quelle est la relation linéaire entre les votes accrus dépend de la longueur de la réponse? (Régression)

Exemple

LinearRegression un modèle linéaire avec du bruit, puis voyons si LinearRegression gère pour reconstruire le modèle linéaire.

Tout d'abord, nous générons la matrice X :

import numpy as np

X = np.random.randn(100, 3)

Nous allons maintenant générer le y sous forme de combinaison linéaire de X avec du bruit:

beta = np.array([[1, 1, 0]])
y = (np.dot(x, beta.T) + 0.01 * np.random.randn(100, 1))[:, 0]

Notez que la vraie combinaison linéaire générant y est donnée par `beta.

Pour essayer de le reconstruire à partir de X et y seul, faisons:

>>> linear_model.LinearRegression().fit(x, y).coef_
array([  9.97768469e-01,   9.98237634e-01,   7.55016533e-04])

Notez que ce vecteur est très similaire à la beta .



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow