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()