Wie ich verstehe, numpy.linalg.lstsq
und sklearn.linear_model.LinearRegression
aussehen sowohl für Lösungen x
des linearen Systems Ax = y
, dass die resdidual Summe ||Ax - y||
minimieren.Unterschied zwischen numpy.linalg.lstsq und sklearn.linear_model.LinearRegression
Aber sie geben nicht das gleiche Ergebnis:
from sklearn import linear_model
import numpy as np
A = np.array([[1, 0], [0, 1]])
b = np.array([1, 0])
x , _, _, _ = np.linalg.lstsq(A,b)
x
Out[1]: array([ 1., 0.])
clf = linear_model.LinearRegression()
clf.fit(A, b)
coef = clf.coef_
coef
Out[2]: array([ 0.5, -0.5])
Was bin ich mit Blick auf?
der abfangen. : D – cel
Als @cel nooted ist der einzige Unterschied der Intercept. Sie können tun, 'linear_model.LinearRegression (fit_intercept = False)' das gleiche Ergebnis wie 'np.linalg.lstsq' zu bekommen. –
Ein einfaches, aber leicht zu übersehendes Detail. Vielen Dank! – fhchl