# sklern-LinearRegression Example
# diabetes dataset 数据集:糖尿病数据集
print(__doc__) # 输出文件开头注释内容(Automatically created module for IPython interactive environment)
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets, linear_model # 导入数据集和线性模型模块
from sklearn.metrics import mean_squared_error, r2_score
# 导入糖尿病数据集
diabetes = datasets.load_diabetes()
# 仅使用一个特征,选取第三列的特征
diabetes_X = diabetes.data[:, np.newaxis, 2]
# 划分训练集和测试集(手动划分),选取后20个为测试集
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes.target[:-20]
diabetes_y_test = diabetes.target[-20:]
# 线性回归模型
lr = linear_model.LinearRegression()
# 训练模型
lr.fit(diabetes_X_train, diabetes_y_train)
# 用测试集进行预测
diabetes_y_pred = lr.predict(diabetes_X_test)
# 输出模型系数
print("Coefficients:\n", lr.coef_)
# 输出均值平方误差
print("Mean squared error: %.2f" %mean_squared_error(diabetes_y_test, diabetes_y_pred ))
# 方差得分:1是最佳预测
print("Variance score: %.2f"%r2_score(diabetes_y_test, diabetes_y_pred))
# 图像
plt.scatter(diabetes_X_test, diabetes_y_test, color = 'black') # 绘制散点图
plt.plot(diabetes_X_test, diabetes_y_pred, color = 'blue', linewidth = 3)
plt.xticks(())
plt.yticks(())
plt.show()结果:
Automatically created module for IPython interactive environment
Coefficients:
[938.23786125]
Mean squared error: 2548.07
Variance score: 0.47版权声明:本文为Dear_D原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。