#诊断逻辑代码

importsysimportosimporttimeimportoperatorimportcx_Oracleimportnumpy as npimportpandas as pdimporttensorflow as tf

conn=cx_Oracle.connect('doctor/admin@localhost:1521/tszr')

cursor=conn.cursor()#one-hot编码

defonehot(labels):

n_sample=len(labels)

n_class= max(labels) + 1onehot_labels=np.zeros((n_sample, n_class))

onehot_labels[np.arange(n_sample), labels]= 1

returnonehot_labels#获取数据集

defgetdata(surgery ,surgeryChest):

sql= "select feature1,feature2,feature3,feature4,feature5,trainLable from menzhen where surgery='%s' and surgeryChest='%s'" %\

(surgery, surgeryChest)

cursor.execute(sql)

rows=cursor.fetchall()

dataset=[]

lables=[]for row inrows:

temp=[]

temp.append(row[0])

temp.append(row[1])

temp.append(row[2])

temp.append(row[3])

temp.append(row[4])

dataset.append(temp)if (row[5] == 3):

lables.append(0)elif (row[5] == 6):

lables.append(1)else:

lables.append(2)

dataset=np.array(dataset)

lables=np.array(lables)

dataset=dataset.astype(np.float32)

labless=onehot(lables)returndataset, lablessdefgetAnswer(a1, a2, a3, a4, a5):

answers=[]

answers.append(int(a1))

answers.append(int(a2))

answers.append(int(a3))

answers.append(int(a4))

answers.append(int(a5))

str_answers=[]if (int(a1) == 1):

str_answers.append("正常")elif (int(a1) == 2):

str_answers.append("轻度")elif (int(a1) == 3):

str_answers.append("偏重")else:

str_answers.append("严重")if (int(a2) == 1):

str_answers.append("正常")elif (int(a2) == 2):

str_answers.append("轻度")elif (int(a2) == 3):

str_answers.append("偏重")else:

str_answers.append("严重")if (int(a3) == 1):

str_answers.append("正常")elif (int(a3) == 2):

str_answers.append("轻度")elif (int(a3) == 3):

str_answers.append("偏重")else:

str_answers.append("严重")if (int(a4) == 1):

str_answers.append("正常")elif (int(a4) == 2):

str_answers.append("轻度")elif (int(a4) == 3):

str_answers.append("偏重")else:

str_answers.append("严重")if (int(a5) == 1):

str_answers.append("正常")elif (int(a5) == 2):

str_answers.append("轻度")elif (int(a5) == 3):

str_answers.append("偏重")else:

str_answers.append("严重")returnanswers, str_answersdefgetSugessiones(sujects, resultName):

sql= "select prescription_1,prescription_2,prescription_3,prescription_4,prescription_5,prescription_6,prescription_7,prescription_8,prescription_9,prescription_10,prescription_11,prescription_12,prescription_13,prescription_14,prescription_15 from prescription where SURGERYCHEST='%s' and illName='%s'" %(

sujects, resultName)

cursor.execute(sql)

rows=cursor.fetchall()

prescriptionData=[]for row inrows:

one=[]

one.append(row[0])

one.append(row[1])

one.append(row[2])

one.append(row[3])

one.append(row[4])

one.append(row[5])

one.append(row[6])

one.append(row[7])

one.append(row[8])

one.append(row[9])

one.append(row[10])

one.append(row[11])

one.append(row[12])

one.append(row[13])

one.append(row[14])

prescriptionData.append(one)

prescriptionDataFrame=pd.DataFrame(prescriptionData)

prescriptionDataSum= prescriptionDataFrame.sum(axis=0)

prescriptionDataSumSorted= sorted(enumerate(prescriptionDataSum), key=lambda x: x[1], reverse=True)

prescriptionDataSumSortedThirst= prescriptionDataSumSorted[:3]

prescriptionIndex=[]for i inrange(len(prescriptionDataSumSortedThirst)):

prescriptionIndex.append(prescriptionDataSumSortedThirst[i][0])

sql= "select prescriptionInfo,health from prescriptionInfo where FAMILY='%s' and ill_name='%s'" %(

sujects, resultName)

cursor.execute(sql)

rows=cursor.fetchall()

prescriptionInfoData=[]

healthData=[]for row inrows:

prescriptionInfoData.append(row[0])

healthData.append(row[1])

prescriptionInfoResult=[]for i inrange(len(prescriptionIndex)):

prescriptionInfoResult.append(prescriptionInfoData[prescriptionIndex[i]])

healthResult=[]for i inrange(len(prescriptionIndex)):

healthResult.append(healthData[prescriptionIndex[i]])returnprescriptionInfoResult, healthResultdefgetSeeProject(subject):

sql= "select CHACKPRO from chackProject where FAMILY='%s'" %(subject)

cursor.execute(sql)

rows=cursor.fetchall()

seeproject=[]for row inrows:

seeproject.append(rows[0])returnseeproject[0][0]defgetDoctors(sujects):

sql= "select addraction,name,summary from doctors where family='%s'" %(sujects)

cursor.execute(sql)

rows=cursor.fetchall()

doctorInfo=[]for row inrows:

doctorInfo.append(row[0])

doctorInfo.append(row[1])

doctorInfo.append(row[2])print("主治专家姓名:" + doctorInfo[1])print("主治专家简介:" + doctorInfo[2])print("主治专家所在医院:" +doctorInfo[0])returndoctorInfodefgetPAH(province, administrative):

sql= "select hostitalname from hostitalAdrrest where province='%s' and administrative='%s'" %(

province, administrative)

cursor.execute(sql)

rows=cursor.fetchall()

hostitalName=[]for row inrows:

hostitalName.append(row[0])

yiyuaan= ""

for i inrange(len(hostitalName)):print(hostitalName[i])

yiyuaan+=hostitalName[i]returnyiyuaandefaddUser_SeeIll(userid, username, sex, age, province, area, bumen, ke, result, chufang, jianyi, yiyuaan, yisheng,

jianchaxiang):

sql= "insert into zhenduanjilutable (userid,username,sex,age,province,area,bumen,ke,result,chufang,jianyi,yiyuaan,yisheng,jianchaxiang) values (%d,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')" %(

userid, username, sex, age, province, area, bumen, ke, result, chufang, jianyi, yiyuaan, yisheng, jianchaxiang)

cursor.execute(sql)

conn.commit()if (cursor.rowcount == 1):print("新看病记录添加成功")else:print("新看病记录添加失败")defzhenduan_n(a1, a2, a3, a4, a5, userid, username, surgery, surgeryChest, province, administ):

answers, str_answers=getAnswer(a1, a2, a3, a4, a5)

useranswer= [answers] * 3dataset, labless=getdata(surgery, surgeryChest)

x_data= tf.placeholder("float32", [None, 5])

y_data= tf.placeholder("float32", [None, 3])

weight= tf.Variable(tf.ones([5, 3]))

bias= tf.Variable(tf.ones([3]))#使用softmax激活函数

y_model = tf.nn.softmax(tf.matmul(x_data, weight) +bias)#y_model = tf.nn.relu(tf.matmul(x_data, weight) + bias)

#loss = tf.reduce_sum(tf.pow((y_model - y_data), 2))

#使用交叉熵作为损失函数

loss = -tf.reduce_sum(y_data *tf.log(y_model))#train_step = tf.train.GradientDescentOptimizer(1e-4).minimize(loss)

#使用AdamOptimizer优化器

#train_step = tf.train.AdamOptimizer(1e-4).minimize(loss)

train_step = tf.train.MomentumOptimizer(1e-4, 0.9).minimize(loss)#评估模型

correct_prediction = tf.equal(tf.argmax(y_model, 1), tf.argmax(y_data, 1))

accuracy= tf.reduce_mean(tf.cast(correct_prediction, "float"))

init=tf.initialize_all_variables()

sess=tf.Session()

sess.run(init)for _ in range(10):for i in range(int(len(dataset) / 100)):

sess.run(train_step, feed_dict={x_data: dataset[i:i + 100, :], y_data: labless[i:i + 100, :]})

xl_weight=sess.run(weight)

W=np.dot(xl_weight, useranswer)

result=0for i inrange(len(W[0])):for j inrange(len(W[0, :])):if (i ==j):

result+=W[i][j]

result= int(result / 5)if (result <= 3):

result= 3

elif (result <= 6):

result= 6

else:

result= 9sql= "select ILL_NAME from ill_result_tbZ where FAMILY='%s' and ILL_ID=%d" %(surgeryChest, result)

cursor.execute(sql)

rows=cursor.fetchall()

ILL_NAME=[]for row inrows:

ILL_NAME.append(row[0])

firstResult=ILL_NAME[0]if (firstResult[:2] == "疑似"):

firstResult= "疑似患病"

print(firstResult)

prescriptionInfoResult, healthResult=getSugessiones(surgeryChest, firstResult)

chufang= ''

for i inrange(len(prescriptionInfoResult)):

chufang= chufang + '诊断处方' + str(i + 1) + ':' + prescriptionInfoResult[i] + '。'

print('诊断处方' + str(i + 1) + ':' +prescriptionInfoResult[i])

jianyi= ''

for i inrange(len(healthResult)):

jianyi= jianyi + '养生建议' + str(i + 1) + ':' + healthResult[i] + '。'

print('养生建议' + str(i + 1) + ':' +healthResult[i])if (firstResult != '正常'):print("根据你的情况,系统推荐重点检查身体以下几项健康指标:")

seeproject=getSeeProject(surgeryChest)print("推荐检查:", seeproject)print("根据你的情况,系统向你推荐以下在这一治疗领域专家:")

doctorInfo=getDoctors(surgeryChest)

yisheng= ""

for i inrange(len(doctorInfo)):

yisheng+=doctorInfo[i]print("===============================================================================================")print("根据你所处的位置,系统找到以下与你距离最近的医院:")

yiyuaan=getPAH(province, administ)

sex= "男"age= 13addUser_SeeIll(userid, username, sex, age, province, administ, surgery, surgeryChest, firstResult, chufang,

jianyi, yiyuaan, yisheng, seeproject)#zhenduan_n("1","2","3","4","4",6,"小东东","外科","胸外科","广东省","广州市")#prescriptionInfoResult,healthResult = getSugessiones("胸外科","胸壁结核")#a = getDoctors("胸外科")#getPAH("广东省","广州市")

defaction(infon):

zhenduan_n(int(infon[0]),int(infon[1]),int(infon[2]),int(infon[3]),int(infon[4]),int(infon[5]),infon[6],infon[7],infon[8],infon[9],infon[10])if __name__ == '__main__':

infon=[]for i in range(1,len(sys.argv)):

infon.append(sys.argv[i])

action(infon)

python医疗系统代码_吴裕雄 人工智能 java、javascript、HTML5、python、oracle ——智能医疗系统WEB端复诊代码简洁版实现...相关推荐

  1. python医疗系统代码_吴裕雄 人工智能 java、javascript、HTML5、python、oracle ——智能医疗系统WEB端初诊代码简洁版实现...

    #系统核心事务逻辑处理代码 importsysimportosimportcx_Oracleimportnumpy as npimportpandas as pdimporttensorflow as ...

  2. 吴裕雄 人工智能 java、javascript、HTML5、python、oracle ——智能医疗系统WEB端初诊代码简洁版实现...

    <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Prope ...

  3. Ex6_机器学习_吴恩达课程作业(Python):SVM支持向量机(Support Vector Machines)

    Ex6_机器学习_吴恩达课程作业(Python):SVM支持向量机(Support Vector Machines) 文章目录 Ex6_机器学习_吴恩达课程作业(Python):SVM支持向量机(Su ...

  4. python医疗系统设计_吴裕雄 python 人工智能——智能医疗系统后台用户复诊模块简约版代码展示...

    #复诊 importsysimportosimporttimeimportoperatorimportcx_Oracleimportnumpy as npimportpandas as pdimpor ...

  5. mysql 查询 系统字段 自然日_吴裕雄--天生自然python数据清洗与数据可视化:MYSQL、MongoDB数据库连接与查询、爬取天猫连衣裙数据保存到MongoDB...

    本博文使用的数据库是MySQL和MongoDB数据库.安装MySQL可以参照我的这篇博文:https://www.cnblogs.com/tszr/p/12112777.html 其中操作Mysql使 ...

  6. 卓越性能代码_编程语言性能实测,Go比Python更胜一筹?

    作者 | Pawel Dziubałka, Sebastian Karasiewicz 译者 | 泓技 出品 | AI科技大本营(ID:rgznai100) 互联网上有非常多的精彩代码,它们成了构建各 ...

  7. python爱心代码_母亲节快到了,用Python给老妈写个祝福小程序吧~

    导 语 看到好多人留言问我咋好久没更新文章了,于是看了下上篇文章的发布日期,好吧确实挺久的,是该上线更一波文章了.想到母亲节快到了,不如就用Python给老妈写个祝福小程序吧~让我们愉快地开始吧~ 相 ...

  8. python图像融合算法_图像融合质量评价方法的python代码实现——MS-SSIM

    图像融合质量评价方法的python代码实现--MS-SSIM 图像融合质量评价方法的python代码实现--MS-SSIM 文章目录 1 前言 2 MS-SSIM介绍 2 MS-SSIM的代码 2.1 ...

  9. bp神经网络预测python代码_机器学习之多层神经网络(附Python代码和数据)

    1 引言 多层神经网络,Multiple-layers Perceptron (MLP),又被称为多层感知机,是机器学习中深度学习的典型算法.关于多层神经网络的算法原理,我们在Stata和R实现的文章 ...

最新文章

  1. perconadb mysql_是时候用PerconaDB替换MySQL了
  2. 同步和异步GET,POST请求
  3. spark从hbase读数据到存入hbase数据两种版本写法
  4. uwp连接mysql数据库_在 UWP 应用中使用 SQLite 数据库
  5. JDK源码解析之 java.lang.Long
  6. Day12-BigDecimal笔记及练习
  7. excel表头_「Excel技巧」关于Excel表格打印常见的四个问题,你会解决吗?
  8. 用CubeSLAM跑自己的数据集
  9. linq to sql 系列之 linq to sql性能优化技巧
  10. “编程不规范 亲人泪两行”
  11. 2015中国国内元器件分销商10亿俱乐部20强榜单
  12. python 通过什么来判断是否存在分支结构_【单选题】14、Python通过什么来判断操做是否在分支结构中(C) A. 括号 B. 花括号 C. 缩进 D. 冒号...
  13. python中index什么意思_Python中index()和seek()的用法(详解)
  14. mysql连接查询、自查询
  15. Hadoop生态系统官网、下载地址、文档
  16. 开放鸿蒙,未来可循:一文读懂华为开发者大会2021主题演讲
  17. 前端动画之贝塞尔曲线推导及应用
  18. 新浪微博粉丝通推广简介
  19. 基于HSV+HOG特征和SVM的人脸口罩检测算法
  20. 一文读懂PMP项目管理资格认证考试

热门文章

  1. 写好的python如何在其它电脑上运行_如何在另一个文件中运行一个python文件?
  2. OpenCV中图像垂直拼接函数vconcat的使用
  3. 《你不知道的JavaScript》-- 精读(五)
  4. CCNA--OSI、TCP/IP
  5. [HAOI2015]树上操作
  6. 关于ASP.NET未能映射路径问题
  7. Sublime Text 3添加右键
  8. Scalaz(27)- Inference Unapply :类型的推导和匹配
  9. Sencha Touch 搭建命令
  10. Eclipse 的 Tomcat 插件