python医疗健康数据分析-预测糖尿病

参考:python预测糖尿病

前言:

本篇应用线性回归来预测糖尿病患病参数。

数据集介绍:

python的sklearn.datasets中有很多自带的数据集。

其中数据集的详细介绍可以参考sklearn的官网。


# sklearn中还带有数据库
from sklearn import datasets
# 加载数据束(其中包括数据、目标值,介绍等等)
diabetes = datasets.load_diabetes()
# 输出数据束中的数据
print(diabetes.data)
# 输出数据束中的目标值
print(diabetes.target)
# 输出数据的总行数
print('total rows', len(diabetes.data), len(diabetes.target))
# 输出总特征数(每行的维数)
print('number of features', len(diabetes.data[0]))
# 输出数据类型
print('data type', diabetes.data.shape)
print(type(diabetes.data), type(diabetes.target))

建立回归模型:

# 导入线性模型模块
import sklearn.linear_model as lm
# 导入线性回归模型方法
lr = lm.LinearRegression()
# 训练模型所需数据准备
# 将数据集最后30行作为测试集,其余作为训练集
X_train = diabetes.data[0:-30]
X_test = diabetes.data[-30:]
y_train = diabetes.target[0:-30]
y_test = diabetes.target[-30:]

# 回归训练及预测
lr.fit(X_train, y_train)
y_predict = lr.predict(X_test)

绘图:

# 回归模型的系数,引用lr的coef_属性,可以看到各个属性对目标值的影响
coef = lr.coef_

# 绘图
import matplotlib.pyplot as plt
import numpy as np
plt.figure()
# 散点图表示测试集的准确target结果
# 折线图表示模型预测结果
plt.scatter(np.arange(30), y_test, c='black')
plt.plot(np.arange(30), y_predict, c='red')


猜你喜欢

转载自blog.csdn.net/zs15321583801/article/details/81010033