sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)
返回一个线性回归模型,损失函数形式为
fit_intercept:boolean,可选,True(默认):
是否计算截距,即f(x)=w.T*X或者f(x)=w.T*X+b
normalize:boolean,可选,False(默认),fit_intercept=True有效:
True:数据X会被归一化处理,X=(X-X.mean())/L2范数
或者使用sklearn.preprocessing.StandardScaler进行标准化处理
copy_X:boolean,可选,True(默认):
True:使用X.copy().否则使用X的引用,任何修改都会作用于X自身
n_jobs:int,可选,默认为1.
使用CPU的个数。-1代表使用全部CPU.只有n_targets>1或问题足够大时才会有明显的加速效果
属性:
coef_:权值矩阵.shape(n_features,)或者(n_targets,n_features)。
当传入的是多目标值参数时,得到二维矩阵(n_targets,n_features)。否则得到一维矩阵(n_features,)
intercept_:矩阵,表示线性模型对应的截距。
方法:
fit(X,y,sample_weight=None):
X:numpy array或稀疏矩阵,shape(n_samples,n_features)。训练数据
y:numpy array,shape(n_samples,n_targets),对应的目标值
sample_weight:numpy array,shape(n_samples),每个样本单独的权值。
返回一个训练好的线性模型。
get_params(deep=True):
获取模型的参数,返回一个string到任意可能值的映射
predict(X):对给定的数据X进行预测
X:arrat-like对象或稀疏矩阵。shape(n_samples,n_features)。待测样本
返回:array,shape(n_samples,),对输入的预测结果
score(X,y,sample_weight=None):
计算对于X,y的R^2值。R^2=1-u/v. u= ((y_true - y_pred) ** 2).sum() ,v=((y_true - y_true.mean()) ** 2).sum()
X:测试样例,array-like