实验内容:糖尿病预测
实验要求
一、加载糖尿病数据集diabetes,观察数据
二、基于线性回归对数据集进行分析
三、考察每个特征值与结果之间的关联性,观察得出最相关的特征
四、使用回归分析找出XX特征值与糖尿病的关联性,并预测出相关结果
实验代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_diabetes
from sklearn.linear_model import LinearRegression
data_diabetes=load_diabetes()
data=data_diabetes['data']
target=data_diabetes['target']
feature_names=data_diabetes['feature_names']
df = pd.DataFrame(data, columns=feature_names)
print("查看前几行数据\n",df.head())
print("以上是查看的数据集基本信息\n",df.info())
temp_X=data[:, np.newaxis, 2]
train_X=temp_X[:221]
test_X=temp_X[221:]
train_y=target[:221]
test_y=target[221:]
model=LinearRegression()
model.fit(train_X,train_y)
print("Coefficient(系数):%.2f" %model.coef_)
print("Residual sum of square(残差平方和):%.2f" %np.mean((model.predict(test_X) - test_y) ** 2))
print("variance score(方差得分): %.2f" %model.score(test_X, test_y))
'''
5.考察每个特征值与结果之间的关系,分别以散点图展示。
思考:根据散点图结果对比,哪个特征值与结果之间的相关性最高?
'''
plt.title('LinearRegression Diabetes')
plt.xlabel(u'Attributes')
plt.ylabel(u'Measure of disease')
plt.scatter(test_X,test_y, color = 'red')
plt.plot(test_X, model.predict(test_X), color='blue', linewidth = 3)
plt.show()