糖尿病预测

人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站
https://www.captainai.net/shuai

一、糖尿病预测

1.1问题描述

糖尿病数据集是Sklearn 提供的数据集。它从442例糖尿病患者的资料中取10个特征:年龄、性别、体重、血压和6个血清测试量值,以及患者在一年后疾病发展的量化值(标签)。

1.2问题求解

基本思路:
糖尿病预测_第1张图片
糖尿病预测_第2张图片
糖尿病预测_第3张图片

完整代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

def makeLinearRegression(x):
    diabetes = pd.read_csv('data.csv')
    diabetes = diabetes.ix[:, 1:]
    print('head:', diabetes.head(), '\nShape:', diabetes.shape)

    # 数据描述
    print(diabetes.describe())
    # 缺失值检验
    print(diabetes[diabetes.isnull() == True].count())
    # 相关系数0~0.3弱相关0.3~0.6中等程度相关0.6~1强相关
    print(diabetes.corr())

    sns.pairplot(diabetes, x_vars=['bmi', 'bp', 's1', 's2', 's3', 's4', 's5', 's6'], y_vars='y', size=6, aspect=0.8,
                 kind='reg')
    plt.savefig("pairplot.png")
    plt.show()

    x_train, x_test, y_train, y_test = train_test_split(diabetes.ix[:, :10], diabetes.y, train_size=.80)

    # print("原始数据特征:", diabetes.ix[:, :10].shape,",训练数据特征:", x_train.shape,",测试数据特征:", x_test.shape)
    # print("原始数据标签:", diabetes.y.shape,",训练数据标签:", y_train.shape, ",测试数据标签:", y_test.shape)

    model = LinearRegression()
    model.fit(x_train, y_train)
    a = model.intercept_  # 截距
    b = model.coef_  # 回归系数

    # 对线性回归进行预测
    y_pred = model.predict(x_test)
    print('测试预测结果:', y_pred)
    print('测试真实结果:', y_test)

    print("预测你的糖尿病指数:", model.predict(x_test))


print("输入身体指数1:age、 sex 、bmi、 map、 tc、 ldl、 hdl、 tch、 ltg、 glu")
# age:年龄
# sex:性别
# bmi = body mass index:身体质量指数,是衡量是否肥胖和标准体重的重要指标,理想BMI(18.5~23.9) = 体重(单位Kg) ÷ 身高的平方 (单位m)
# bp = blood pressure :血压
# s1,s2,s3,s4,s4,s6 (六种血清的化验数据)
arr = input("")
num = [[int(n) for n in arr.split()]]
makeLinearRegression(num)

糖尿病预测_第4张图片
糖尿病预测_第5张图片
完整代码请关注公众号,回复糖尿病线性

你可能感兴趣的:(机器学习,python,数据挖掘,sklearn)