人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站
https://www.captainai.net/shuai
一、糖尿病预测
1.1问题描述
糖尿病数据集是Sklearn 提供的数据集。它从442例糖尿病患者的资料中取10个特征:年龄、性别、体重、血压和6个血清测试量值,以及患者在一年后疾病发展的量化值(标签)。
1.2问题求解
基本思路:
完整代码:
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 StandardScalerdef 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)
完整代码请关注公众号,回复糖尿病线性