top of page

线性分析_糖尿病预测

  • 231469242
  • 2014年5月1日
  • 讀畢需時 2 分鐘

说明

本程序依靠统计学的回归模式,预测糖尿病的发生时间。

输入连续血糖测试值,程序则可自动计算多久后可能患上糖尿病。

这是程序运行后代码展示

糖尿病回归分析1.PNG

图形化展示:血糖值和时间关系

糖尿病回归分析2.png

本程序还可智能检测以前测试中不准确值

糖尿病回归分析3.png

部分代码

#coding=utf-8

import math,math_inhance, linear_regression,numpy,pylab

#血糖值:范围[无糖尿病,3.5-5.5正常,大于5.5属于高血糖]

list_x=[3.6,3.61,3.63,3.66,4,4.1,4.2,4.22,4.28,4.5]

list_y=[1,2,3,4,5,6,7,8,9,10]

mode_list=["linear",2,3,6,5]

a=0

mode=2

forecast_x=0

best_mode=linear_regression.mode_choose(list_x,list_y,mode_list)

x=linear_regression.x_input_process(list_x,best_mode)

y=linear_regression.y_input_process(list_y,best_mode)

x_mean=math_inhance.mean(x)

y_mean=math_inhance.mean(y)

s_x=math_inhance.s_deviation(x)

s_y=math_inhance.s_deviation(y)

s_xy_value=math_inhance.s_xy(x,y)

b=math_inhance.linear_b(s_xy_value,s_x)

a=linear_regression.a_input_process(a,best_mode)

r=linear_regression.R(list_x,list_y,best_mode)

r_square=linear_regression.R_square(r)

r_fit=linear_regression.R_fit(r_square)

y_forecast=linear_regression.Forecast_y(b,a,forecast_x,best_mode)

forecast_list_y=linear_regression.Forecast_list_y(b,a,list_x,best_mode)

residual_list=linear_regression.residual(list_y,forecast_list_y)

wrongNumber_predict=linear_regression.wrongNumber_check(list_x,list_y,residual_list)

def Diabetes_forecast():

forecast_x=5.5

diabetes_time_forecast=linear_regression.Forecast_y(b,a,forecast_x,best_mode)

linear_regression.print_out(x_mean,y_mean,x,y,s_x,s_y,s_xy_value,r,r_fit,\

b,a,diabetes_time_forecast,wrongNumber_predict,best_mode)

if r_fit==True:

linear_regression.draw_linear_regression_model(list_x,list_y,b,a,best_mode)

linear_regression.draw_residual(residual_list)

return diabetes_time_forecast

def Diabetes_time():

diabetes_time_prediction=diabetes_time_forecast-len(list_y)

return diabetes_time_prediction

def Diabetes_prevention():

print "1.keep balanced food for half an hour,\

cut off smoking,alcohol,and spice food"

print "2.keep normal blood pressure"

print "3.keep normal weight(BMI)"

print "4.eat 5 parts of fruids and balanced vegetables a day"

print "5.keep normal waist"

print "6.keep good mood"

print "7.keep half an hour walking at night"

def Diabetes_drug():

print"there are some drugs for diabetes,do not worry:"

print"For type1:insulin injection"

print"For type2:(1)biguanide"

print" (2)Sulfonylurea"

print" (3)Alpha glucosidase inhibitor,such as acarbose"

print" (4)prandial glucose regulator,such as repaglinide,nateglinide"

print" (5)pioglitazone"

print" (6)Incretin mimetics:such as exenatide,liraglutide"

print" (7)DPP-4 inhibitors(gliptins):such as Sitagliptin,Saxagliptin,Alogliptin"

print" (8)SGLT2 inhibitors,such as Dapagliflozin,Canagliflozin"

def Diabetes_types():

print "type1:body does not produce any insulin,for immune system impaired "

print "type2:body produces some insulin,and these insulin do not work well"

diabetes_time_forecast=Diabetes_forecast()

diabetes_time_prediction=Diabetes_time()

print "after %.1f years,you have risk of diabetes" %(diabetes_time_prediction)


 
 
 

留言


Featured Posts
Recent Posts
Archive
统计学,数据分析,糖尿病
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square

电话:

15923087684

 

QQ:

231469242

bottom of page