吴裕雄 python 人工智能——智能医疗系统后台用户复诊模块简约版代码展示
#复诊
import sys
import os
import time
import operator
import cx_Oracle
import numpy as np
import pandas as pd
import tensorflow as tf uid = 6
sql = "select username,sex,age,province,area,bumen,ke,result,chufang,jianyi,yiyuaan,yisheng,jianchaxiang,zhenduanriqi from zhenduanjilutable where userid=%d" % uid
cursor.execute(sql)
rows = cursor.fetchall()
zhenduanjilu = []
for row in rows:
temp = []
temp.append(row[0])
temp.append(row[1])
temp.append(row[2])
temp.append(row[3])
temp.append(row[4])
temp.append(row[5])
temp.append(row[6])
temp.append(row[7])
temp.append(row[8])
temp.append(row[9])
temp.append(row[10])
temp.append(row[11])
temp.append(row[12])
temp.append(row[13])
zhenduanjilu.append(temp) print("===================打印诊断历史记录=====================")
for i in range(len(zhenduanjilu)):
print("-------------->>第:"+str(i+1)+"次诊断<<-------------------")
print(" 姓名:"+zhenduanjilu[i][0])
print(" 性别:"+zhenduanjilu[i][1])
print(" 年龄:"+str(zhenduanjilu[i][2]))
print(" 省份:"+zhenduanjilu[i][3])
print(" 市区:"+zhenduanjilu[i][4])
print(" 门诊部门:"+zhenduanjilu[i][5])
print(" 门诊科目:"+zhenduanjilu[i][6])
print(" 诊断结果:"+zhenduanjilu[i][7])
print(" 医疗处方:"+zhenduanjilu[i][8])
print(" 养生建议:"+zhenduanjilu[i][9])
print(" 推荐医院:"+zhenduanjilu[i][10])
print(" 推荐医生:"+zhenduanjilu[i][11])
print(" 建议检查项:"+zhenduanjilu[i][12])
print(" 诊断日期:"+str(zhenduanjilu[i][13])) num = int(input("请输入需要复诊的对应第几次诊断记录编号:"))
print("===================开始复诊流程=====================")
num -= 1
username=zhenduanjilu[num][0]
sex=zhenduanjilu[num][1]
age=zhenduanjilu[num][2]
province=zhenduanjilu[num][3]
area=zhenduanjilu[num][4]
bumen=zhenduanjilu[num][5]
ke=zhenduanjilu[num][6] sql = "select keid from hy_keid where ke='%s'" % ke
cursor.execute(sql)
rows = cursor.fetchall()
keid = []
for row in rows:
keid.append(row[0]) sql = "select QUESTION from HY_QUESTID where QUID=%d" % keid[0]
cursor.execute(sql)
rows = cursor.fetchall()
question = []
for row in rows:
question.append(row[0])
question = question[0].split(",")
# print(question)
answer = []
for i,j in zip(question,np.arange(len(question))):
print("问题"+str(j+1)+":是否"+i+":")
print(" A、正常 B、较轻 C、明显 D、非常严重")
temp = input("请根据实际情况选择上面的一项:")
if(temp=="A"):
answer.append(1)
elif(temp=="B"):
answer.append(2)
elif(temp=="C"):
answer.append(3)
else:
answer.append(4) surgery = bumen
surgeryChest = ke #one-hot编码
def onehot(labels):
n_sample = len(labels)
n_class = max(labels) + 1
onehot_labels = np.zeros((n_sample, n_class))
onehot_labels[np.arange(n_sample), labels] = 1
return onehot_labels #获取数据集
def getdata(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 in rows:
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)
return dataset,labless #获取测试数据集
def gettestdata(surgery,surgeryChest):
sql = "select feature1,feature2,feature3,feature4,feature5,trainLable from test where surgery='%s' and surgeryChest='%s'" % (surgery,surgeryChest)
cursor.execute(sql)
rows = cursor.fetchall()
testdataset = []
testlables = []
for row in rows:
temp = []
temp.append(row[0])
temp.append(row[1])
temp.append(row[2])
temp.append(row[3])
temp.append(row[4])
testdataset.append(temp)
if(row[5]==3):
testlables.append(0)
elif(row[5]==6):
testlables.append(1)
else:
testlables.append(2)
testdataset = np.array(testdataset)
testlables = np.array(testlables)
testdataset = testdataset.astype(np.float32)
testlabless = onehot(testlables)
return testdataset,testlabless dataset,labless = getdata(surgery,surgeryChest)
# testdataset,testlables = gettestdata(surgery,surgeryChest) # dataset = dataset[0:100]
# labless = labless[0:100] 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)
# start = time.time()
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,:]}) # print("模型准确率",sess.run(accuracy, feed_dict={x_data:testdataset , y_data:testlables}))
# end = time.time()
# print("模型训练和测试公耗时:%.2f 秒" % (end-start)) xl_weight = sess.run(weight)
useranswer = [[1, 2, 3, 4, 4]]*3
W = np.dot(xl_weight,useranswer)
result=0
for i in range(len(W[0])):
for j in range(len(W[0,:])):
if(i==j):
result += W[i][j]
result = int(result/5)
# print(result) if(result<=3):
result = 3
elif(result<=6):
result = 6
else:
result = 9 sql = "select ILL_NAME from ill_result_tbZ where FAMILY='%s' and ILL_ID=%d" % (ke,result)
cursor.execute(sql)
rows = cursor.fetchall()
ILL_NAME = []
for row in rows:
ILL_NAME.append(row[0]) firstResult = ILL_NAME[0]
##
print("=======================系统复诊单===================")
print("姓名:"+username)
print("性别:"+sex)
print("年龄:"+str(age))
print("省份:"+province)
print("所属区:"+area)
print("初诊部门:"+bumen)
print("科目:"+ke)
##
print("系统智能诊断结果:"+firstResult) if(firstResult[:2]=="疑似"):
firstResult = "疑似患病" 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 SURGERY='%s'and SURGERYCHEST='%s' and ILLNAME='%s'" % (bumen,ke,firstResult)
cursor.execute(sql)
rows = cursor.fetchall()
chufanggrace = []
for row in rows:
temp = []
temp.append(row[0])
temp.append(row[1])
temp.append(row[2])
temp.append(row[3])
temp.append(row[4])
temp.append(row[5])
temp.append(row[6])
temp.append(row[7])
temp.append(row[8])
temp.append(row[9])
temp.append(row[10])
temp.append(row[11])
temp.append(row[12])
temp.append(row[13])
temp.append(row[14])
chufanggrace.append(temp) PRESCRIPTION_sum = []
for col in range(np.shape(chufanggrace)[1]):
temp = 0
for row in range(np.shape(chufanggrace)[0]):
temp += chufanggrace[row][col]
PRESCRIPTION_sum.append(temp) b = sorted(enumerate(PRESCRIPTION_sum),key=lambda x:x[1],reverse=True)[:3]
index = []
for i in b:
index.append(i[0]) sql = "select PRESCRIPTIONINFO,HEALTH from PRESCRIPTIONINFO where DEPARTMENT='%s' and FAMILY='%s' and ILL_NAME='%s'" % (bumen,ke,firstResult)
cursor.execute(sql)
rows = cursor.fetchall()
chufanglist = []
jianyilist = []
for row in rows:
chufanglist.append(row[0])
jianyilist.append(row[1])
best_chufang = []
best_jianyi = []
for i in index:
best_chufang.append(chufanglist[i])
best_jianyi.append(jianyilist[i])
chufang_str = ""
jianyi_str = ""
for i,j in zip(best_chufang,range(len(best_chufang))):
chufang_str += "系统智能筛选优良处方"+str(j+1)+":" + i +"。"
print("系统智能筛选优良处方"+str(j+1)+":" + i) for i,j in zip(best_jianyi,range(len(best_jianyi))):
jianyi_str += "系统智能筛选优良养生建议"+str(j+1)+":" + i+"。"
print("系统智能筛选优良养生建议"+str(j+1)+":" + i) sql = "select HOSTITALNAME from DOCTORHOSTITALADRREST where PROVINCE='%s' and ADMINISTRATIVE='%s'" % (province,area)
cursor.execute(sql)
rows = cursor.fetchall()
yiyuan = []
for row in rows:
yiyuan.append(row[0])
for i in yiyuan:
print("系统智能匹配你所在地区附件的医院:"+i) sql = "select ADDRACTION,NAME,SUMMARY from DOCTORS where FAMILY='%s'" % (ke)
cursor.execute(sql)
rows = cursor.fetchall()
yisheng = []
for row in rows:
yisheng.append(row[0])
yisheng.append(row[1])
yisheng.append(row[2])
print("系统为你推荐全国相关出色医生所在医院信息:"+yisheng[0])
print("系统为你推荐全国相关出色医生姓名信息:"+yisheng[1])
print("系统为你推荐全国相关出色医生简介信息:"+yisheng[2])
yisheng_str = ""
yisheng_str += "医生所在医院:"+yisheng[0]
yisheng_str += "医生姓名:"+yisheng[1]
yisheng_str += "医生简介:"+yisheng[2] sql = "select CHACKPRO from CHACKPROJECT where FAMILY='%s'" % (ke)
cursor.execute(sql)
rows = cursor.fetchall()
jiancha = []
for row in rows:
jiancha.append(row[0])
print("系统建议你到相关正规医院检查以下身体指标:"+jiancha[0])
jianchax = ""
jianchax += "系统建议你到相关正规医院检查以下身体指标:"+jiancha[0] 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')" % (uid,username,sex,age,province,area,bumen,ke,firstResult,chufang_str,jianyi_str,yiyuan[0],yisheng_str,jianchax)
cursor.execute(sql)
conn.commit()
print("此次智能诊断完成,欢迎你下次继续使用:天生自然健康智能医疗系统!") print("特别提醒、注意:该系统的所有诊断只是作为参考,有必需要的用户请到相关正规医院接受相关专家医生完成检查、治疗等流程...")
print("系统建议:保持一颗善良、沉稳、宁静和广博的平常心度过每一个清晨和夜晚...")
print("祝你们每一位人都开开心心、健健康康、平平安安...阖家安康,如意吉祥......")


吴裕雄 python 人工智能——智能医疗系统后台用户复诊模块简约版代码展示的更多相关文章
- 吴裕雄 python 人工智能——智能医疗系统后台用户注册、登录和初诊简约版代码展示
#用户注册.登录模块 #数据库脚本 CREATE TABLE usertable( userid number(8) primary key not null , username varchar(5 ...
- 吴裕雄 PYTHON 人工智能——智能医疗系统后台智能分诊模块及系统健康养生公告简约版代码展示
#coding:utf-8 import sys import cx_Oracle import numpy as np import pandas as pd import tensorflow a ...
- 吴裕雄 python 人工智能——基于神经网络算法在智能医疗诊断中的应用探索代码简要展示
#K-NN分类 import os import sys import time import operator import cx_Oracle import numpy as np import ...
- 吴裕雄 PYTHON 人工智能——基于MASK_RCNN目标检测(5)
import os import sys import numpy as np import tensorflow as tf import matplotlib import matplotlib. ...
- 吴裕雄 PYTHON 人工智能——基于MASK_RCNN目标检测(4)
import os import sys import random import math import re import time import numpy as np import tenso ...
- 吴裕雄 python 人工智能——基于Mask_RCNN目标检测(3)
import os import sys import random import math import re import time import numpy as np import cv2 i ...
- 吴裕雄 python 人工智能——基于Mask_RCNN目标检测(2)
import os import sys import itertools import math import logging import json import re import random ...
- 吴裕雄 python 人工智能——基于Mask_RCNN目标检测(1)
import os import sys import random import math import numpy as np import skimage.io import matplotli ...
- 吴裕雄--天生自然Linux操作系统:Linux 用户和用户组管理
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...
随机推荐
- SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理)
SQL Server查询中特殊字符的处理方法 (SQL Server特殊符号的转义处理) SQL Server查询中,经常会遇到一些特殊字符,比如单引号'等,这些字符的处理方法,是SQL Server ...
- KindEditor 编辑器前台得使用规范
官方网址:http://www.kindsoft.net/下载网址:http://www.kindsoft.net/down.php 引入得脚本: <link href="~/Cont ...
- sendmail邮件服务器
安装sendmail之前 我们要先搭建一个DNS服务器用来解析邮件 下图是配置好的DNS正向解析记录和反向解析记录 正向 反向 DNS配置好之后我们就来安装sendmail服务 然后再安装sendma ...
- 【STM32H7教程】第59章 STM32H7的DAC基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第59章 STM32H7的DAC基础知识和HAL库 ...
- vue全局组件与局部组件
<!DOCTYPE html> <html> <head> <title></title> </head> <script ...
- mybatis(六):设计模式 - 工厂方法模式
- SpringBean的生命周期以及循环依赖过程
上面就是springBean的大致生命周期. Bean的创建过程 创建Bean之前会调用Bean工厂的后置处理器,可以获取到BeanDefinition Bean的初始化过程 初始化之前会调用前置处理 ...
- dfs题型一
代码: #include <iostream> #include <algorithm> #include <vector> using namespace std ...
- wget 显示网页内容到控制台
wget -q -O - http://www.microsoft.com
- redis设置键值生存时间
EXPIRE <KEY> <TTL> : 将键的生存时间设为 ttl 秒PEXPIRE <KEY> <TTL> :将键的生存时间设为 ttl 毫秒EXP ...