sklearn—总结(2) 回归 (更新中)

 

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

diab=datasets.load_diabetes()              # 加载糖料病数据集
x0_train=diab.data[:-20]
y0_train=diab.target[:-20]
x0_test=diab.data[-20:]
y0_test=diab.target[-20:]
# print("diab:\n{}\ndiab.data:\n{}\ndiab.target:\n{}\n".format(diab,diab.data,diab.target))

# 线性回归
lreg=linear_model.LinearRegression()

for i in range(0,10):
    x_train=x0_train[:,i]                         # 取训练数据的第i个属性
    x_test=x0_test[:,i]                           # 取测试数据的第i个属性
    x_train=x_train[:,np.newaxis]                 # 训练数据转为2D
    x_test=x_test[:,np.newaxis]                   # 测试数据转为2D

    lreg.fit(x_train,y0_train)                    # 进行训练
    y=lreg.predict(x_test)                        # 进行预测

    plt.subplot(5,2,i+1)
    plt.scatter(x_test,y0_test,color="k")           # 绘制散点图
    plt.plot(x_test,y,color="b",linewidth=3)        # 绘制回归直线

    print("回归系数:{}\n截距:{}\n".format(lreg.coef_,lreg.intercept_))

plt.show()

  

posted @ 2018-08-22 11:21  todaynowind  阅读(223)  评论(0编辑  收藏  举报