基于精准聚类的胃食管反流疾病危险因素提取方法及系统与流程

文档序号:17540593发布日期:2019-04-29 14:32阅读:156来源:国知局
基于精准聚类的胃食管反流疾病危险因素提取方法及系统与流程

本发明涉及聚类与医学技术领域,特别是涉及一种基于精准聚类的胃食管反流疾病危险因素提取方法及系统。



背景技术:

胃食管反流疾病作为一种世界范围内普遍存在的消化系统疾病,其发病率呈现出逐年上升的趋势。因此,胃食管反流疾病的治疗应当引起我们的足够重视。由于胃食管反流疾病的发生与生活方式、情绪变化、饮食习惯等密切相关,病情极易发生变化,因此通过采集大量数据并分析数据特征对研究该疾病及预防有重要作用。

目前在胃食管反流疾病诊断技术中主要是采用聚类算法提取危险因素,但是其聚类数目和聚类中心的选取比较困难,往往因为聚类数目和聚类中心选择错误导致危险因素提取精确率较低。



技术实现要素:

本发明的目的是提供一种基于精准聚类的胃食管反流疾病危险因素提取方法及系统,以解决现有技术中因聚类数目和聚类中心选择错误导致危险因素提取精确率较低的问题。

为实现上述目的,本发明提供了如下方案:

一种基于精准聚类的胃食管反流疾病危险因素提取方法,所述方法包括:

构建初始患者信息集;所述初始患者信息集为m行n列的数据集;所述初始患者信息集中的第i行第1列的因素为患者问卷id号,且不同行中第1列的因素表示为不同的患者问卷id号;所述初始患者信息集中的第1行第j列的因素为调查问卷的问题,且不同列中第1行的因素表示为不同的问题;所述初始患者信息集中的第i行第j列的因素为第i患者问卷id号对第j问题的答案;其中,2≤i≤m,2≤j≤n;

对所述初始患者信息集中的答案进行数据量化处理,得到量化数据矩阵;所述量化数据矩阵为m行n列的矩阵;所述量化数据矩阵中的第i行第1列的元素为患者问卷id号,且不同行中第1列的元素表示为不同的患者问卷id号;所述量化数据矩阵中的第1行第j列的元素为调查问卷的问题,且不同列中第1行的元素表示为不同的问题;所述量化数据矩阵中的第i行第j列的元素为第i患者问卷id号第j问题答案的数据量化结果果;其中,2≤i≤m,2≤j≤n;

采用层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图;第z个所述样本点代表所述量化数据矩阵中的第z行数据;所述样本点的个数与所述量化数据矩阵的列数相同,其中,2≤z≤m;

根据所述层次聚类树状图确定聚类数目;

根据所述聚类数目和k-means聚类算法,对所述量化数据矩阵中的元素进行聚类,得到多个类簇;

计算每个所述类簇中各个元素间的相关指数,并将相关指数最大的元素确定为胃食管反流疾病危险因素;所述相关指数为相关系数平方的平均数。

可选的,所述采用层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图,具体包括:

采用凝聚层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图。

可选的,所述采用凝聚层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图,具体包括:

步骤1,计算两两样本点之间的距离;

步骤2,选择距离最小的两个样本点合成一个类;

步骤3,重复步骤1和步骤2,直到所有样本点聚为一类,得到层次聚类树状图。

可选的,所述计算两两样本点之间的距离,具体包括:

采用平均距离算法,计算两两样本点之间的距离。

可选的,在执行根据所述聚类数目和k-means聚类算法,对所述量化数据矩阵中的元素进行聚类,得到多个类簇之前,所述方法还包括:

采用k-means++算法确定初始聚类中心。

可选的,所述根据所述聚类数目和k-means聚类算法,对所述量化数据矩阵中的元素进行聚类,得到多个类簇,具体包括:

输入所述聚类数目、所述初始聚类中心以及所述量化数据矩阵,运行所述k-means聚类算法对应的程序,对所述量化数据矩阵中的元素进行聚类划分,得到多个类簇。

一种基于精准聚类的胃食管反流疾病危险因素提取系统,包括:

初始患者信息集构建模块,用于构建初始患者信息集;所述初始患者信息集为m行n列的数据集;所述初始患者信息集中的第i行第1列的因素为患者问卷id号,且不同行中第1列的因素表示为不同的患者问卷id号;所述初始患者信息集中的第1行第j列的因素为调查问卷的问题,且不同列中第1行的因素表示为不同的问题;所述初始患者信息集中的第i行第j列的因素为第i患者问卷id号对第j问题的答案;其中,2≤i≤m,2≤j≤n;

量化数据矩阵得到模块,用于对所述初始患者信息集中的答案进行数据量化处理,得到量化数据矩阵;所述量化数据矩阵为m行n列的矩阵;所述量化数据矩阵中的第i行第1列的元素为患者问卷id号,且不同行中第1列的元素表示为不同的患者问卷id号;所述量化数据矩阵中的第1行第j列的元素为调查问卷的问题,且不同列中第1行的元素表示为不同的问题;所述量化数据矩阵中的第i行第j列的元素为第i患者问卷id号第j问题答案的数据量化结果果;其中,2≤i≤m,2≤j≤n;

层次聚类树状图得到模块,用于采用层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图;第z个所述样本点代表所述量化数据矩阵中的第z行数据;所述样本点的个数与所述量化数据矩阵的列数相同,其中,2≤z≤m;

聚类数目确定模块,用于根据所述层次聚类树状图确定聚类数目;

类簇得到模块,用于根据所述聚类数目和k-means聚类算法,对所述量化数据矩阵中的元素进行聚类,得到多个类簇;

胃食管反流疾病危险因素确定模块,用于计算每个所述类簇中各个元素间的相关指数,并将相关指数最大的元素确定为胃食管反流疾病危险因素;所述相关指数为相关系数平方的平均数。

可选的,所述层次聚类树状图得到模块,具体包括:

层次聚类树状图得到单元,用于采用凝聚层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图。

可选的,所述系统还包括:

初始聚类中心确定模块,用于采用k-means++算法确定初始聚类中心。

可选的,所述类簇得到模块,具体包括:

类簇得到单元,用于输入所述聚类数目、所述初始聚类中心以及所述量化数据矩阵,运行所述k-means聚类算法对应的程序,对所述量化数据矩阵中的元素进行聚类划分,得到多个类簇。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明主要结合两种聚类方法提出的一种精准性提取胃食管反流疾病危险因素的方法及系统。本发明利用了层次聚类、k均值聚类相结合的方法,应用于人群聚类,分别从特征以及人群两个维度进行了聚类,最终得到精准聚类后的不同类簇的人群,并结合统计学方法分析出决定每一类人群的关键因素。因此,本发明采用两种聚类方法相结合的方式,高效的筛选出引发胃食管反流疾病的危险因素,为日后医学研究及疾病诊断提供科学依据,对胃食管反流病进行指导,降低发病率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例基于精准聚类的胃食管反流疾病危险因素提取方法的流程示意图;

图2为本发明实施例基于精准聚类的胃食管反流疾病危险因素提取系统的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于精准聚类的胃食管反流疾病危险因素提取方法及系统,能够高效精准的筛选出引发胃食管反流疾病的危险因素。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1

图1为本发明实施例基于精准聚类的胃食管反流疾病危险因素提取方法的流程示意图,如图1所示,本发明实施例提供的基于精准聚类的胃食管反流疾病危险因素提取方法,具体包括以下几个步骤。

步骤101:构建初始患者信息集;所述初始患者信息集为m行n列的数据集;所述初始患者信息集中的第i行第1列的因素为患者问卷id号,且不同行中第1列的因素表示为不同的患者问卷id号;所述初始患者信息集中的第1行第j列的因素为调查问卷的问题,且不同列中第1行的因素表示为不同的问题;所述初始患者信息集中的第i行第j列的因素为第i患者问卷id号对第j问题的答案;其中,2≤i≤m,2≤j≤n,i,j为正整数。

步骤102:对所述初始患者信息集中的答案进行数据量化处理,得到量化数据矩阵;所述量化数据矩阵为m行n列的矩阵;所述量化数据矩阵中的第i行第1列的元素为患者问卷id号,且不同行中第1列的元素表示为不同的患者问卷id号;所述量化数据矩阵中的第1行第j列的元素为调查问卷的问题,且不同列中第1行的元素表示为不同的问题;所述量化数据矩阵中的第i行第j列的元素为第i患者问卷id号第j问题答案的数据量化结果果;其中,2≤i≤m,2≤j≤n,即所述量化数据矩阵为关键危险因素的初始矩阵。

步骤103:采用层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图;第z个所述样本点代表所述量化数据矩阵中的第z行数据;所述样本点的个数与所述量化数据矩阵的列数相同,其中,2≤z≤m,z为正整数。

步骤104:根据所述层次聚类树状图确定聚类数目。

步骤105:根据所述聚类数目和k-means聚类算法,对所述量化数据矩阵中的元素进行聚类,得到多个类簇;其中,类簇的数目与聚类的数目相同,且不同的类簇代表不同类别的患者。

步骤106:计算每个所述类簇中各个元素间的相关指数,并将相关指数最大的元素确定为胃食管反流疾病危险因素。

步骤101具体包括:

本实施例通过在医院向每个患有胃食管反流疾病的人发放调查问卷,并根据回收回来的多份调查问卷来建立初始患者信息集。

在本实施例中该初始患者信息集的维度共241,包括唯一标识性的患者问卷id号以及各个调查问卷的问题答案。

调查问卷中包含一般人口学资料、生活方式、饮食习惯、精神因素、睡眠因素等几部分问题以及调查者的答案。调查问卷的答案类型包括三种:单选题、判断题、问答题。

步骤102是对调查者的答案进行数据数量化处理。

具体为以患者问卷id号作为唯一标识号。问卷中,单选题中以重要级别为答案的题目,如选项为经常、偶尔、很少、从不,可根据其重要级别依次赋予4,3,2,1的权值,根据具体答案选择相应的权值;判断题中以是否型选项为答案的,将“是”赋值为1,“否”赋值为0,根据具体答案选择相应的赋值;选项并无重要级别之分的问题,如职业,因为该类问题对结果无用,可删除该问题。针对问答题,直接以用户输入的连续型数值作为数据,如用户45岁,身高172,未感染hp,经常有睡眠障碍,则该样本数据列为[年龄,身高,是否感染hp,睡眠障碍情况],数据值为[45,172,0,4]。本步骤的目的是将所有调查者的答案进行量化处理,得到量化数据矩阵r。

步骤103具体包括:

聚类分析可以对指标进行聚类,也可以对样品进行聚类,这里对指标进行聚类。

本实施例采用层次聚类的方法,进一步的,选择凝聚层次聚类的方法对所述量化数据矩阵r中的每个样本点进行聚类处理。其基本原理是先将被聚对象各视为一类,这时类与类的相似程度通过聚类统计,然后选择最接近的两类合并为一类,逐步合并直至所有被聚对象合并为一类为止。

其中,凝聚层次聚类的步骤如下:

将量化数据矩阵r中的每个样本点作为一个独立的类。

根据距离公式,计算两两类之间的距离,找到距离最小的两个类c1、c2。

将类c1和类c2合并为一个类;

重复以上步骤,直到所有样本点聚为一类,进而得到一个层次聚类树状图。

具体的,关于距离度量,本实施例选择平均距离法计算两两类之间的距离。

平均距离法通过计算两个类中的每个数据点与其他所有数据点的距离,并将所有距离的均值作为两两类之间的距离。计算公式如下:

其中,dist(x,z)采用欧几里得距离得出。

步骤104具体包括:

结合专业知识,根据层次聚类树状图分析确定聚类数目k,即最终要选出的危险因素数目。

利用步骤104得到的聚类数目k,对调查者变量进行k-means聚类,即对量化数据矩阵r进行k均值聚类。

在执行步骤105之前,所述方法还包括:采用k-means++算法确定聚类中心。

k-means++算法选择初始聚类中心的思想是:初始的聚类中心之间的相互距离要尽可能远。算法步骤如下:

1,随机在量化数据矩阵r中随机选取一个元素作为第一个初始聚类中心。

2,对于每一个元素,计算和其最近的一个初始聚类中心的距离d(x),依次得到d(1)、d(2)、...、d(n),并构成的集合d,然后将所有距离求和得到sum(d(x))。

3,再取一个随机值,用权重的方式来取计算下一个种子点。这个步骤的实现是,先取一个能落在sum(d(x))中的随机值random,然后sum(d(x))乘以随机值random得到值r,并用r=r-d(xg),直到其r<=0,此时的第g个元素就是下一个种子点,即下一个聚类中心。

4,重复2和3,直到l个初始聚类中心被选出来。

步骤105具体包括:输入所述量化数据矩阵r,聚类数目以及初始聚类中心,运行k-means算法对应的程序,对所述量化数据矩阵中的元素进行聚类划分,得到多个类簇。

步骤106具体包括:为了找到决定形成该类患病人群的危险因素,需要计算每类簇中各个元素间的相关指数(相关系数平方的平均数),选择相关指数最大的元素确定为胃食管反流疾病危险因素,每类簇中筛选出一个胃食管反流疾病危险因素。

将所述量化数据矩阵r按照类标签进行分组得到r1,r2,r3,....rk,设置初始的危险因素集合为空集,对每类簇中各个元素间的相关性进行分析,计算元素间相关指数,在每一类簇中选择一个相关指数最大的元素加入危险因素集合。

其中相关系数计算如下:

其中,var(x)为x的方差,var(y)为y的方差,cov(x,y)为x,y之间的协方差,x,y为每类簇中的元素。

针对某一特征的样本相关指数r2的计算公式如下:

其中,x为某项特征,i为特征编号,n为特征总数。

实施例2

为实现上述目的,本发明还提供了一种如图2所示的基于精准聚类的胃食管反流疾病危险因素提取系统。该系统包括:

初始患者信息集构建模块100,用于构建初始患者信息集;所述初始患者信息集为m行n列的数据集;所述初始患者信息集中的第i行第1列的因素为患者问卷id号,且不同行中第1列的因素表示为不同的患者问卷id号;所述初始患者信息集中的第1行第j列的因素为调查问卷的问题,且不同列中第1行的因素表示为不同的问题;所述初始患者信息集中的第i行第j列的因素为第i患者问卷id号对第j问题的答案;其中,2≤i≤m,2≤j≤n。

量化数据矩阵得到模块200,用于对所述初始患者信息集中的答案进行数据量化处理,得到量化数据矩阵;所述量化数据矩阵为m行n列的矩阵;所述量化数据矩阵中的第i行第1列的元素为患者问卷id号,且不同行中第1列的元素表示为不同的患者问卷id号;所述量化数据矩阵中的第1行第j列的元素为调查问卷的问题,且不同列中第1行的元素表示为不同的问题;所述量化数据矩阵中的第i行第j列的元素为第i患者问卷id号第j问题答案的数据量化结果果;其中,2≤i≤m,2≤j≤n。

层次聚类树状图得到模块300,用于采用层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图;其中,第z个所述样本点代表所述量化数据矩阵中的第z行数据;所述样本点的个数与所述量化数据矩阵的列数相同,其中,2≤z≤m。

聚类数目确定模块400,用于根据所述层次聚类树状图确定聚类数目。

类簇得到模块500,用于根据所述聚类数目和k-means聚类算法,对所述量化数据矩阵中的元素进行聚类,得到多个类簇。

胃食管反流疾病危险因素确定模块600,用于计算每个所述类簇中各个元素间的相关指数,并将相关指数最大的元素确定为胃食管反流疾病危险因素。

优选的,该系统还包括:初始聚类中心确定模块,用于采用k-means++算法确定初始聚类中心。

所述层次聚类树状图得到模块300,具体包括:

层次聚类树状图得到单元,用于采用凝聚层次聚类算法对所述量化数据矩阵中的每个样本点进行聚类处理,得到层次聚类树状图。

所述类簇得到模块500,具体包括:

类簇得到单元,用于输入所述聚类数目、所述初始聚类中心和所述量化数据矩阵,运行所述k-means聚类算法对应的程序,对所述量化数据矩阵中的元素进行聚类划分,得到多个类簇。

现有技术相比,本发明的优势为:

目前在胃食管反流疾病诊断技术中采用机器学习方法提取危险因素并不多见,大多数在医学领域对于危险因素的提取采取的是统计学方法,而统计学方法计算量大,同时与机器学习相比精确率较低。

本发明采用两种聚类方法相结合的方式,针对k均值本身存在的缺点做出了改进,对聚类的精准性做了进一步的提高。

本发明的危险因素的提取结合了人群聚类与指标筛选,从不同人群中分析危险因素,结合聚类方法与统计学方法,结果更加准确。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1