根据已知数据,找到一个模型,来做预测
- 可视化
- 建立假设
Y = kx+b
![](https://img.haomeiwen.com/i185169/a005c3d87be14a9b.png)
利用 diabetes(糖尿病)数据集来学习线性回归
-
Linear Regression Example
包括442个病人的生理数据及一年以后的病情发展情况
10项特征值如下:
年龄、性别、体质指数、血压、s1,s2,s3,s4,s5,s6 (六种血清的化验数据)
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets, linear_model
from sklearn.metrics import mean_squared_error, r2_score
diabetes = datasets.load_diabetes()
print(diabetes.feature_names)
# 选择bmi 作为预测的指标(特征)
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:]
# 创建线性回归的分类器
regr = linear_model.LinearRegression()
regr.fit(diabetes_X_train, diabetes_y_train)
# 使用测试数据,让模型生成对应的结果
diabetes_y_pred = regr.predict(diabetes_X_test)
print('均方误差是:%.2f'%mean_squared_error(diabetes_y_test, diabetes_y_pred))
# print("Mean squared error: %.2f" % mean_squared_error(diabetes_y_test, diabetes_y_pred))
# Plot outputs
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()
![](https://img.haomeiwen.com/i185169/31a62f12761f72b6.png)
![](https://img.haomeiwen.com/i185169/47b30bc450b23f25.png)
![](https://img.haomeiwen.com/i185169/916fb55855fb110d.png)
网友评论