线性模型——线性回归模型

模型原型
class sklearn.linear_model.LinearRegression(fit_intercept=True,normalisze=False,
copy_X=True,n_jobs=1)
参数

  • fit_intercept:是否计算b值
  • normalisze:回归前是否归一化
  • copy_X:是否复制X
  • n_jobs:任务并行时指定的CPU数量(-1表示使用所有可用的CPU)

属性

  • coef_f:权重向量
  • intercept_:b值

方法

  • fit(X,y[,sample_weight]):训练模型
  • predict(X):返回预测值
  • score(X,y[,sample_weight]):返回预测性能得分

导入库

import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets,linear_model,discriminant_analysis,cross_validation

加载数据

def load_data():
    diabetes=datasets.load_diabetes()
    return cross_validation.train_test_split(diabetes.data,diabetes.target,
                                            test_size=0.25,random_state=0)

使用LinearRegression

def test_LinearRegression(*data):
    X_train,X_test,y_train,y_test=data
    regr=linear_model.LinearRegression()
    regr.fit(X_train,y_train)
    print('Coefficients:%s,\nintercept %.2f'%(regr.coef_,regr.intercept_))
    print('Residual sum of squares:%.2f'%np.mean((regr.predict(X_test)-y_test)**2))
    print('Score:%.2f'%regr.score(X_test,y_test))

调用函数

X_train,X_test,y_train,y_test=load_data()
test_LinearRegression(X_train,X_test,y_train,y_test)

版权声明:本文为weixin_39777626原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。