1.一种基于FP增长算法模型的中药配方数据挖掘方法,其特征在于,所述方法包括以下步骤:
对录入的中药原始数据进行预处理,所述中药原始数据中包含单味药数据库和药剂配方数据库;所述单味药数据库形成以单味药为事务、以所述单味药的一个功效或归经为特征项的第一事务集;
根据所述单位药数据库与药剂配方数据库构建以所述第一事务集所包含的全部特征项为频繁项的FP-tree数据结构;
将所述第一事务集中每个事务所对应的特征项按照所述FP-tree数据结构中频繁项的顺序重新排列,生成第二事务集;所述第二事务集包括多个数据集;每个所述数据集以其包含的所述特征项为事务,每条所述事务包括所述数据集中排列在所述事务所对应的特征项之前的特征项;
对每个所述数据集运行FP-growth算法,以生成与所述多个数据集一一对应的FP-tree子数据结构;
基于不同所述FP-tree子数据结构中特征项之间的对应关系,挖掘不同功效之间的关联规则和/或挖掘功效与归经之间的关联规则。
2.如权利要求1所述的基于FP增长算法模型的中药配方数据挖掘方法,其特征在于,所述药剂配方数据库包含药剂配方及其组成和功效;
构建以所述第一事务集所包含的全部特征项为频繁项的FP-tree数据结构包括:
扫描所述第一事务集,以所述第一事务集中所包含的全部特征项生成第一频繁项集,按照所述特征项在所述药剂配方中出现的频次为支持度,降序排列所述第一频繁项集,以生成项头表;
按照重新排列的顺序把每个所述事务的每个频繁项插入以null为根的FP-tree中;如果插入时频繁项节点已经存在了,则把该频繁项节点支持度加1;如果插入时频繁项节点不存在,则创建支持度为1的节点,并把该节点链接到所述项头表中。
3.如权利要求1所述的基于FP增长算法模型的中药配方数据挖掘方法,其特征在于,所述对每个所述数据集运行FP-growth算法,以生成与所述多个数据集一一对应的FP-tree子数据结构包括:
以所述数据集中所包含的全部特征项生成第二频繁项集,通过FP-growth算法获得同一频繁项在所述FP-tree数据结构中的所有节点的祖先路径的集合,取并集得到支持度大于阈值的所有模式;循环获得所述数据集中每一频繁项支持度大于阈值的所有模式;形成所述数据集中条件模式基;
将所述条件模式基按照FP-tree的数据结构形成节点链。
4.如权利要求3所述的基于FP增长算法模型的中药配方数据挖掘方法,其特征在于,所述将所述条件模式基按照FP-tree的数据结构形成节点链之后还包括:
根据所述FP-tree子数据结构获得每个所述频繁项的频繁模式,所述频繁模式包含所有与所述频繁项具有关联的特征项及其与所述频繁项关联的支持度。
5.如权利要求1~4任一所述的基于FP增长算法模型的中药配方数据挖掘方法,其特征在于,所述基于不同所述FP-tree子数据结构中特征项之间的对应关系,挖掘不同功效之间的关联规则包括:
遍历各所述FP-tree子数据结构,若两个不同所述FP-tree子数据结构的子项头表中存在相同的特征项,则在该两个不同所述FP-tree子数据结构的子项头表之间建立索引指向;
重复所述遍历各所述FP-tree子数据结构,若两个不同所述FP-tree子数据结构的子项头表中存在相同的特征项,则在该两个不同所述FP-tree子数据结构的子项头表之间建立索引指向;直到遍历完成所有所述FP-tree子数据结构。
6.一种基于FP增长算法模型的中药配方数据挖掘系统,其特征在于,所述系统包括:
预处理模块,用于对中药原始数据进行预处理,所述中药原始数据中包含单味药数据库和药剂配方数据库;所述单位药数据库形成以单味药为事务、以所述单味药的一个功效或归经为特征项的第一事务集;
FP-tree模块,用于以所述第一事务集所包含的全部特征项为频繁项构建FP-tree数据结构;
数据划分模块,用于把所述第一事务集中每个事务所对应的特征项按照所述FP-tree数据结构中频繁项的顺序重新排列,生成第二事务集;所述第二事务集包括多个数据集;每个所述数据集以其包含的所述特征项为事务,每条所述事务包括所述数据集中排列在所述事务所对应的特征项之前的特征项;
FP-tree子模块,用于对每个所述数据集运行FP-growth算法,以生成与所述多个数据集一一对应的FP-tree子数据结构;
挖掘模块,用于基于不同所述FP-tree子数据结构中特征项之间的对应关系,挖掘不同功效之间的关联规则和/或挖掘功效与归经之间的关联规则。
7.根据权利要求6基于FP增长算法模型的中药配方数据挖掘系统,其特征在于,所述FP-tree模块包括:
项头表模块,用于扫描所述第一事务集,以所述第一事务集中所包含的全部特征项生成第一频繁项集,按照所述特征项在所述药剂配方中出现的频次为支持度,降序排列所述第一频繁项集,以生成项头表;
排序模块,用于按照重新排列的顺序把每个所述事务的每个频繁项插入以null为根的FP-tree中;如果插入时频繁项节点已经存在了,则把该频繁项节点支持度加1;如果插入时频繁项节点不存在,则创建支持度为1的节点,并把该节点链接到所述项头表中。
8.如权利要求6所述的基于FP增长算法模型的中药配方数据挖掘系统,其特征在于,所述FP-tree子模块包括:
路径模块,用于以所述数据集中所包含的全部特征项生成第二频繁项集,通过FP-growth算法获得同一频繁项在所述FP-tree数据结构中的所有节点的祖先路径的集合,取并集得到支持度大于阈值的所有模式;循环获得所述数据集中每一频繁项支持度大于阈值的所有模式;形成所述数据集中条件模式基;
节点链模块,用于将所述条件模式基按照FP-tree的数据结构形成节点链。
9.如权利要求8所述的基于FP增长算法模型的中药配方数据挖掘系统,其特征在于,所述系统还包括:
频繁式模块,用于根据所述FP-tree子数据结构获得每个所述频繁项的频繁模式,所述频繁模式包含所有与所述频繁项具有关联的特征项及其与所述频繁项关联的支持度。
10.如权利要求6~9任一所述的基于FP增长算法模型的中药配方数据挖掘系统,其特征在于,所述挖掘模块包括:
索引模块,用于遍历各所述FP-tree子数据结构,若两个不同所述FP-tree子数据结构的子项头表中存在相同的特征项,则在该两个不同所述FP-tree子数据结构的子项头表之间建立索引指向;
循环模块,用于重复所述遍历各所述FP-tree子数据结构,若两个不同所述FP-tree子数据结构的子项头表中存在相同的特征项,则在该两个不同所述FP-tree子数据结构的子项头表之间建立索引指向;直到遍历完成所有所述FP-tree子数据结构。