普通最小二乘法 (正规方程组)
拟合一个带有系数 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。数学表达式:
LinearRegression
会调用 fit
方法来拟合数组 X, y,并且将线性模型的系数 存储在其成员变量
coef_
中
from sklearn import linear_model
reg = linear_model.LinearRegression()
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
print(reg.coef_) # [0.5 0.5]
LinearRegression
(fit_intercept=True, normalize=False, copy_X=True, n_jobs=None)
参数 | fit_intercept | 是否计算该模型的截距b。如果设置为False,计算中将不使用截距(例如,数据预期已经居中)。 |
normalize | 当fit_intercept设置为False时,将忽略该参数。若为真,则回归前对回归量X进行归一化处理,取均值减去后除以l2-范数。 | |
copy_X | 一个布尔值。如果为True,会复制X,否则会覆盖X | |
n_jobs | 用于计算的作业数。这只会为n_targets > 1和足够大的问题提供加速。 | |
返 回值 | coef_ | 线性回归问题的估计系数。 |
intercept_ | b值。 | |
方法 | fit (X, y, sample_weight=None) | fit 方法来拟合数组 X, y |
get_params (deep=True) | 就是获得fit_intercept=True, normalize=False, copy_X=True, n_jobs=None | |
predict (X) | 利用训练好的参数,来预测新的数据X对应的y | |
score (X, y, sample_weight=None) | 模型的效果 | |
set_params (**params) |
from sklearn import linear_model
reg = linear_model.LinearRegression()
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
reg.get_params()
print(reg.coef_)
print(reg.intercept_)
print(reg.score([[0, 0], [1, 1], [2, 2]], [0, 1, 2.5]))
print(reg.get_params())
print(reg.set_params(copy_X=False,fit_intercept=False))
print(reg.get_params())
'''
[0.5 0.5]
1.1102230246251565e-16
0.9210526315789473
{'copy_X': True, 'fit_intercept': True, 'n_jobs': 1, 'normalize': False}
LinearRegression(copy_X=False, fit_intercept=False, n_jobs=1, normalize=False)
{'copy_X': False, 'fit_intercept': False, 'n_jobs': 1, 'normalize': False}
'''