线性回归

根据已知数据,找到一个模型,来做预测

  • 可视化
  • 建立假设
  • Y = kx+b
线性回归_第1张图片

利用 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()
线性回归_第2张图片
线性回归
线性回归_第3张图片
线性回归_第4张图片

你可能感兴趣的:(线性回归)