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

这是一个使用Python实现的智能医疗系统,包括数据查询、症状分析、疾病预测和诊疗建议等功能。系统通过数据库连接获取病历数据,利用TensorFlow进行神经网络训练,并提供初步的疾病诊断和处方建议。同时,系统还具备用户管理和信息更新的功能。
摘要由CSDN通过智能技术生成

#系统核心事务逻辑处理代码

importsysimportosimportcx_Oracleimportnumpy as npimportpandas as pdimporttensorflow as tf

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

cursor=conn.cursor()defshowSurgest():

sql= 'select distinct SURGERY from menzhen'cursor.execute(sql)

rows=cursor.fetchall()

surgery=[]for row inrows:

surgery.append(row[0])for i inrange(len(surgery)):print(surgery[i])defshowSujects(surgest):

sql= "select distinct SURGERYCHEST from menzhen where SURGERY='%s'" %surgest

cursor.execute(sql)

rows=cursor.fetchall()

sujects=[]for row inrows:

sujects.append(row[0])for i inrange(len(sujects)):print(sujects[i])defshowQuestion(sujects):

sql= "select QUESTION from QUESTTB where ILLSUBJECT='%s'" %sujects

cursor.execute(sql)

rows=cursor.fetchall()

question= ""

for row inrows:

question+=row[0]

question= question.split(',')returnquestiondefgetQuestion(sujects):

quest=showQuestion(sujects)for i inrange(len(quest)):print('你是否'+quest[i]+':')defgetTrainData(sujects):

sql= "select feature1,feature2,feature3,feature4,feature5,trainLable from menzhen where surgeryChest='%s'" %(sujects)

cursor.execute(sql)

rows= cursor.fetchall() #得到所有数据集

trainDataSet =[]for row inrows:

oneLine=[]

oneLine.append(row[0])

oneLine.append(row[1])

oneLine.append(row[2])

oneLine.append(row[3])

oneLine.append(row[4])

oneLine.append(row[5])

trainDataSet.append(oneLine)

trainData=[]

trainLabel=[]for i inrange(len(trainDataSet)):

trainData.append(trainDataSet[i][:-1])

trainLabel.append(trainDataSet[i][-1])

X=trainData

Y_=trainLabel

Y_= np.reshape(Y_,(-1,1))returnX,Y_defcountWeights(X,Y_):#定义神经网络参数

CLASS_NUM = 1DEEP_OUT= 5bias1= 5DEEP_TWO= 1Bias2= 1LEARN_RACE= 0.0001

#定义神经网络

#定义训练数据x,y_

x = tf.placeholder(tf.float32, shape=(None, 5))

y_= tf.placeholder(tf.float32, shape=(None, 1))#定义第一层(隐藏层)神经网络

w1 = tf.Variable(tf.random_normal([5, 5], stddev=1, seed=1))

bias1= tf.Variable(tf.random_normal([5]))#定义输出层

w2 = tf.Variable(tf.random_normal([5, 1], stddev=1, seed=1))

bias2= tf.Variable(tf.random_normal([1]))#神经网络前向传播过程

#第一层神经网络层传播

a =tf.matmul(x, w1)

a=tf.nn.bias_add(a,bias1)

a=tf.nn.relu(a)#第二层(输出层)神经网络层传播

y =tf.matmul(a, w2)

y=tf.nn.bias_add(y,bias2)#定义损失函数进行反向传播优化修改权值

#使用均方误差损失函数

loss_mse = tf.reduce_mean(tf.square(y -y_))#选择一个优化器

#随机梯度下降优化算法#train_step = tf.train.GradientDescentOptimizer(LEARN_RACE).minimize(loss_mse)

#移动动量优化算法

train_step = tf.train.MomentumOptimizer(LEARN_RACE,0.9).minimize(loss_mse)#亚当优化算法#train_step = tf.train.AdamOptimizer(LEARN_RACE).minimize(loss_mse)

#比较预测值与真实值

correct_pred=tf.equal(y,y_)#计算每个batch的平均准确率

accuracy=tf.reduce_mean(tf.cast(correct_pred,tf.float32))#神经网络的执行

#定义算法执行参数

STEPS = 1BATCH_SIZE= 8TRAIN_ROW=np.shape(X)[0]

BATCH_NUM= int(TRAIN_ROW/BATCH_SIZE)

with tf.Session() as sess:

init=tf.global_variables_initializer()

sess.run(init)for i inrange(STEPS):for j inrange(BATCH_NUM):

start= (j * BATCH_SIZE) %np.shape(X)[0]

end= start +BATCH_SIZE

sess.run(train_step, feed_dict={x: X[start:end], y_: Y_[start:end]})if j % 200 ==0:

total_loss= sess.run(loss_mse, feed_dict={x: X, y_: Y_})#print("After %d training step(s), accuracy on all data is %.4f%%" % (i,((1-total_loss)*100)))

w = w2.eval(session=sess)

weights=[]for i inrange(len(w)):

weights.append(w[i][0])returnweightsdefgetAnswer(a1,a2,a3,a4,a5):

answers=[]

answers.append(int(a1))

answers.append(int(a2))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值