以下为该项目的系列文章
工作记录
萤火虫算法
FCM模糊C聚类
爬虫及python代码
数据预处理
中医分类及python代码
数据预处理python代码
基于字典的最大正向匹配
基于欧式距离的方剂推荐
基于方剂相似性的方剂推荐
GitHub地址
根据病症相似性进行匹配推荐药方
数据预处理
- 对于有证型标签的279条带下病的数据进行人工标注实体分为病名、病症、证型、治疗方法四个类别,其列表长度分别为37、1082、62、183
- 对于1082维的病症类别,通过与中医字典进行对比,计算L式编辑距离与人工操作,将病症化简为471种病症,得到有关带下病病症字典,其中默认每种病症的第一个描述方式为标准描述方式。(例:[偏头痛 头偏痛 偏头风 偏正头风]为描述同一种病症的不同表达,所以将其合并成一个病症,默认第一个描述方法“偏头痛”为标准描述方式)
- 将有关带下病的279条数据依据得到的病症字典转化为onehot向量,并计算在279条药方中471类病症出现的频数,将病症仅出现了0,1,2次的病症删除,进一步降低了字典维度。删除低频病症之后得到一个165维的字典。
- 利用降维之后的新字典再对药方数据转化为onehot向量,得到一个 165$$279的病症药方矩阵。
- 将病例所输入的病情描述通过实体识别(待)得到其病症实体,并通过字典匹配得到输入病例的病症onehot向量。
#####推荐药方
- 计算输入病例病症与病症 ∗ * ∗药方矩阵中每个药方的可以治疗病症的相似度。对于病症