乳腺癌病症的分析——挖掘中医证素与乳腺癌TNM分期之间的关系

成员

  • 康丽琪:2120161006
  • 马俊:2120161022
  • 王阳:2120161060
  • 张天夫:2120161079

1. 问题描述

乳腺癌是由乳房组织发展成的癌症。中医药物治疗乳腺癌具有广泛的适应症和独特的优势。从整体出发,调整机体气压、阴阳、肺腑功能的平衡,根据不同的临床病症进行辨证论治。确定“先症而治”的方向:即在后续症状未出现之前,需要截断恶化病情的后续症状。发现中医症状间的关联关系和诸多症状之间的规律性,可以根据规则分析病因、预测病情的发展以及为未来临床提供有效借鉴。

目前,中医的治疗一般采用中医辩证的原则,结合临床医师的经验和临床指南进行诊断,然而这种方法也存在一定的缺陷。面对临床不同症状的患者,初学者难以判断。面对中医的缺陷,随着数据挖掘技术的发展,我们可以用数据挖掘技术对数据进行分析,得到中医症素与乳腺癌TNM分期之间的关系,从而有助于中医对乳腺癌的治疗。

2. 目标

经过以下步骤:

(1) 数据预处理。包括对数据进行分析与整理、填补缺失数据、对数值数据进行离散化。 (2) 挖掘频繁模式、关联和相关性。利用Apriori算法和FP-tree算法进行关联信息挖掘。 (3) 过滤关联规则,根据决策树分析结果。

找到满足最小支持度和置信度的有用的关联规则,从而推断出中医症素与乳腺癌TNM分期之间的关系,弥补中医临床医师经验的缺陷。

3. 步骤

3.1 数据预处理

通过对所给数据的分析,得出:肝气郁结证型系数、热毒蕴结证型系数、冲任失调证型系数、气血两虚证型系数、脾胃虚弱证型系数、肝肾阴虚证型系数均为数值类型的数据,而病程阶段、TNM 分期、转移部位、确诊后几年发现转移均为标称类型的数据。观察数据发现,每一个属性的数据当中均存在缺失值。因此我们首先对缺失数据进行填补。

对于数值型数据填补,我们采用属性的中心度量填充缺失值。对每个属性的数据进行分析,对于对称分布的数据,用均值来填充,而对于倾斜数据,则用中位数来填充。

根据分析发现,肝气郁结证型系数、冲任失调证型系数、气血两虚证型系数、脾胃虚弱证型系数、肝肾阴虚证型系数均用均值来填补空缺值。而热毒蕴结证型系数的空值则需要用中位数来替换。

由于Apriori 算法无法处理连续型数值变量,还需要对数据进行规约,也就是对每个属性的数据进行离散化,使用一个标签来对应一个区间。在这里采用无监督学习的方法对数据进行离散化,所使用的算法是K-means。将各属性进行聚类然后进行离散化处理,使得每一个数据有一个对应的标签。分类结果如图: 肝气郁结证型系数:

 

热毒蕴结证型系数:

 

冲任失调证型系数:

 

气血两虚证型系数:

 

脾胃虚弱证型系数:

 

肝肾阴虚证型系数:

 

对于标称属性的数据,其每个值可以看作是一个类标号,利用经过离散化后的数据来对空缺值进行预测。
例如,填 TNM 分期的空缺值,则每条记录的类标号就是其对应的 TNM 分期的属性值,找到空缺的记录,根据贝叶斯方法对其进行预测:

 

P(X TNM 分期=H1)= P(肝气郁结证型系数=A2 TNM 分期=H1)×P(热毒蕴结证型系数=B1 TNM 分期=H1) ×P(冲任失调证型系数=C2 TNM 分期=H1)×P(气血两虚证型系数=D3 TNM 分期=H1)×P(脾胃虚弱证型系数=E3 TNM 分期=H1)×P(脾胃虚弱证型系数=F3 TNM 分期=H1)
同理,计算出P(X TNM 分期=H2)、P(X TNM 分期=H3)和P(X TNM 分期=H4),取概率最大值对应的TNM 分期。

最终,数据填补后的完整数据如图:

3.2 挖掘关联信息

我们首先使用Apriori算法对关联信息进行挖掘。

算法步骤如下:

1) 依据支持度找出所有频繁项集(频度) 扫描、计数、比较、产生频繁项集、连接、剪枝、产生候选项集。重复上述步骤直到不能发现更大的频繁项集。

2) 依据置信度产生关联规则(强度)

根据置信度的定义,关联规则的产生如下:

a) 对于每个频繁项集 L,产生 L的所有非空子集; b) 对于 L的每个非空子集 S,如果 P(L)/P(S)≧min_conf,则输出规则“L->S”。

挖掘结果如下:

由于Apriori算法需要大量候选项集,并且可能需要重复地扫描整个数据库,通过模式匹配检查一个很大的候选集合。因此算法开销过大,FP-tree 算法就解决了这个问题。它采取分治策略,第一步是利用事物数据库中的数据构造FP-tree,第二步是从FP-tree中挖掘频繁模式。

FP-tree 算法由构造 FP 树和挖掘 FP 树两部分构成。

构造 FP 树:

(1) 扫描事务库 D,获得 D 中所包含的全部频繁项集 1F,及它们各自的支持度。对 1F 中的频繁项按其支持度降序排序得到 L。

(2) 创建 FP-tree 的根结点 T,以“null”标记。再次扫描事务库。对于 D 中每个事务,将其中的频繁项选出并按 L 中的次序排序。设排序后的频繁项表为[p P],其中 p 是第一个频繁项,而 P 是剩余的频繁项。调用 insert_tree([p P],T),insert_tree([p P],T)过程执行情况如下:如果 T 有子女 N 使 N .item_name=p.item_name,则 N 的计数增加 1;否则创建一个新结点 N,将其计数设置为1,链接到它的父结点 T,并且通过 node_link 将其链接到具有相同 item_name的结点。如果 P 非空,递归地调用 insert_tree(P,N)。FP-tree 是一个高度压缩的结构,它存储了用于挖掘频繁项集的全部信息。FP-tree 所占用的内存空间与树的深度和宽度成比例,树的深度一般是单个事务中所含项目数量的最大值;树的宽度是平均每层所含项目的数量。由于在事务处理中通常会存在着大量的共享频繁项,所以树的大小通常比原数据库小很多。频繁项集中的项以支持度降序排列,支持度越高的项与 FP-tree 的根距离越近,因此有更多的机会共享结点,这进一步保证了 FP-tree 的高度压缩。

挖掘 FP 树:

procedure FP_growth(Tree, a)
  if Tree 含单个路径 P then{ 
    for 路径 P 中结点的每个组合(记作 b) 
      产生模式 b U a,其支持度 support = b 中结点的最小支持度; 
  } else {
    for each a i 在 Tree 的头部(按照支持度由低到高顺序进行扫描){
      产生一个模式 b = a i U a,其支持度 support = a i .support;
      构造 b 的条件模式基,然后构造 b 的条件 FP-树 Treeb;
      if Treeb 不为空 then
        调用 FP_growth (Treeb, b);
    }
  }

挖掘出频繁项集部分展示如下:

频繁 1 项集:
frozenset({'F4'})
frozenset({'H4'})
frozenset({'A4'}) 

频繁 2 项集:
frozenset({'A4', 'F1'})
frozenset({'A3', 'C2'})
frozenset({'D2', 'E2'}) 

频繁 3 项集:
frozenset({'A3', 'B2', 'F3'})
frozenset({'B2', 'D2', 'H4'})
frozenset({'A3', 'E2', 'H4'}) 

3.3 结果分析

根据实验目标,即考察中医症素与乳腺癌 TNM 分期之间的关系,我们对挖掘的规则进行过滤,只关注那些以 TNM 分期作为结果的规则。并设置最小支持度为 6%,最小置信度为 75%。最终得到的有用关联规则如下:

D3∧F4=>H4   support = 0.73210   confidence = 0.86765 

A4∧F4=>H4   support = 0.08073   confidence = 0.86867 

C4∧F4=>H4   support = 0.06674   confidence = 0.83871 

E3∧F3=>H4   support = 0.06566   confidence = 0.80328 

B2∧F4=>H4   support = 0.07750   confidence = 0.79167 

A3∧E3=>H4   support = 0.09795   confidence = 0.76923 

A3∧E4=>H4   support = 0.07643   confidence = 0.76056 

根据以上的频繁项集的挖掘,我们可以发现 TNM 分期为 H4 的患者有很多,并且也是我们所重点关注的数据,因此挖掘出的频繁项集基本上都是与 H4分期相关的。为了得到中医症素与其他 TNM 分期之间的关系,我们使用决策树模型进行实验,使用信息增益作为属性选择度量,并随机选取 100 条数据进行训练。 根据决策树得到的规则如下:

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A1 then TNM=H1

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A2 and 热毒蕴结证型系数 =B2 then TNM = H1

if 肝肾阴虚证型系数 = F1 and 热毒蕴结证型系数 = B1 and 冲任失调证型系数 = C3 then TNM = H2

if 肝肾阴虚证型系数 = F1 and 热毒蕴结证型系数 = B2 then TNM = H2

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A2 and 热毒蕴结证型系数 = B1 then TNM = H2

if 肝肾阴虚证型系数 = F1 and 热毒蕴结证型系数 = B3 then TNM = H3

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A3 then TNM = H3

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A5 then TNM = H3

if 肝肾阴虚证型系数 = F1 and 热毒蕴结证型系数 = B1 and 冲任失调证型系数 = C1 then TNM = H4

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A2 and 热毒蕴结证型系数 = B3 then TNM = H4

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A3 and 脾胃虚弱证型系数 = E3 then TNM = H4

if 肝肾阴虚证型系数 = F2 and 肝气郁结证型系数 = A4 then TNM = H4

if 肝肾阴虚证型系数 = F3 then TNM = H4

if 肝肾阴虚证型系数 = F4 then TNM = H4

4. 总结

在本次关于中医症素与乳腺癌 TNM 分期之间的关系的数据挖掘项目当中,我们可以发现,TNM 分期处于 IV 期的乳腺癌患者,其证型主要为:肝肾阴虚证、肝气郁结证以及脾胃虚弱证。其中肝肾阴虚证、肝气郁结证的临床表现较为突出,置信度与支持度都很高,且肝肾阴虚证几乎存在于所有的能得出IV 分期的关联规则当中,因此,对于乳腺癌患者,应当选取以滋养肝肾的药物为主,并且,除了服用药物外,也可以在饮食上注意使用一些对提高肝功能和肾功能有帮助的食物。