说明书一种基于糖尿病系统大数据的糖尿病概率计算方法
技术领域
本发明涉及一种概率计算方法,尤其是涉及一种基于糖尿病系统大数据 的糖尿病概率计算方法。
背景技术
随着社会经济的发展,人口老龄化、生活方式等危险因素迅速增加,糖 尿病患病率在世界范围内呈上升趋势。据世界卫生组织统计:1985年全世界 有糖尿病患者3000万人,1995年为1.35亿人,2000年为1.77亿人,估计到 2025年将达到3亿人;每年约有400万人死于和糖尿病相关的疾病,占世界 死亡人数的9%。许多糖尿病患者不能被早期识别,并且糖尿病人群正趋于 低龄化,对于糖尿病的防治成为了当下重要的技术问题。
现有的糖尿病防治技术主要分为两类:第一类是从大数据中分析出影响 糖尿病发生的主要因素,从而来预防糖尿病;第二类是对糖尿病发生风险的 预测。
第一类主要利用大数据作为样本,提取影响糖尿病发生的因素,主要是 与生活习惯、饮食习惯方面相关的因素,让人们可以注意这些方面,从而来 预防糖尿病的发生。该类方法仅仅是提供一个预防功能,且预防的因素也不 够全面,同时缺少了重要的预测功能,为糖尿病的防治带来了困难。
第二类主要采用分类方法来预测糖尿病发生的风险,主要分为:高危、 中危、低危,这样的分类方法区间广,较为模糊。并且,仅仅通过这些分类 方法不能很好的筛选出糖尿病特征属性,导致预测结果误差变大。
从上述两类现有的技术可以看出,当下的糖尿病防治技术还不够成熟, 影响糖尿病的因素较为复杂,单纯的大数据分析方法以及单纯的预测方法都 是存在较大缺陷的,一方面是预防不够全面,另一方面是预测不够精确。因 此,设计一种预防和预测相结合即更加全面精确的技术方法对糖尿病的防治 具有深远的意义。
发明内容
本发明目的是:提供一种预防和预测相结合且更加全面精确的基于糖尿 病系统大数据的糖尿病概率计算方法,该方法设计了一种决策树与朴素贝叶 斯模型相结合的两层模型方法,通过提取大数据中糖尿病的特征属性,从而 预测糖尿病发生与否,并进一步计算其发生的概率。
本发明的技术方案是:一种基于糖尿病系统大数据的糖尿病概率计算方 法,包括以下步骤:
1)构建糖尿病决策树模型,提取70%的糖尿病系统大数据作为所述决 策树模型的训练样本S,根据该训练样本S获取糖尿病特征属性并将其作为 所述决策树模型的输入变量Xi,每个输入变量Xi都有其对应的分类xij,其中 i=1,2,…,n,j的值由其对应的Xi分类值确定;
2)根据所述训练样本S的信息增益率Gains(Xi)选择所述决策树模型的 最佳分枝变量;
3)提取剩余30%的糖尿病系统大数据并从下向上进行决策树后剪枝, 得到糖尿病诊断结果输出变量Ck,其中k=1,2,3,C1、C2、C3分别对应为可 能、否、是糖尿病诊断结果的决策树输出变量;
4)构建糖尿病朴素贝叶斯模型,从糖尿病系统大数据中提取包含上述 决策树模型筛选后的特征属性数据并重新构成训练样本D,提取上述决策树 模型中所有输出变量为C1的节点,自上向下获取每个节点所经过的特征属性 分类xij,并定义第r个节点所拥有的特征属性集合Yr为:Yr={y1,y2,…,ym}, 其中m是对应节点所拥有的特征属性个数,再利用贝叶斯公式得,第r个节 点上输出变量为C1的糖尿病可能性概率P(C1|y1·y2·y3·····ym)。
作为优选的技术方案,步骤2)中信息增益率Gains(Xi)的计算公式如下:
Info ( S ) = - Σ k = 1 3 ( ( freq ( C k , S ) / | S | ) · log 2 ( ( freq ( C k , S ) / | S | ) ) ) ]]>
Info ( X i ) = - Σ j ( ( | x ij | / | X i | ) · Info ( x ij ) ) , ( i = 1,2 , . . . , n ) ]]>
Info ( x ij ) = - Σ k = 1 3 ( ( freq ( C k , x ij ) / | x ij | ) · log 2 ( ( freq ( C k , x ij ) / | x ij | ) ) ) ]]>
Gain(Xi)=Info(S)-Info(Xi),(i=1,2,…,n)
Gains(Xi)=Gain(Xi)/Info(Xi),(i=1,2,…,n)
其中,|S|为训练样本S的样本总数;
freq(Ck,S)为训练样本S中属于Ck类糖尿病诊断结果的样本数量;
freq(Ck,xij)为训练样本S中包含输入变量Xi分类值为xij的属于Ck类糖尿 病诊断结果的样本数量;
|Xi|为训练样本S中包含输入变量Xi的样本数量;
|xij|为训练样本S中包含输入变量Xi分类值为xij的样本数量;
Info(S)为训练样本S的信息熵;Info(Xi)为糖尿病特征属性Xi在训练样本 S中的条件熵;Info(xij)为糖尿病特征属性分类xij在训练样本S中的条件熵; Gain(Xi)为糖尿病特征属性Xi的信息增益。
作为优选的技术方案,步骤3)中决策树后剪枝的具体方法如下:
采用置信区间法,给定置信水平1-α,假设第r个节点上的Ar个诊断预 测中有Br个是错误的,则错误率为Br/Ar,且通过正态分布表得到第r个节点 上的糖尿病诊断结果的误差μr满足:
P { | B r A r - μ r B r A r ( 1 - B r A r ) / A r | ≤ Z α / 2 } = 1 - α ]]>
令Er=Br/Ar,μr的置信区间为:
[ E r - Z α / 2 E r ( 1 - E r ) A r , E r + Z α / 2 E r ( 1 - E r ) A r ] ]]>
假设父节点上的诊断结果的误差为μ,每个子节点占该分支样本量的比 例为θr,对父节点拥有的所有子节点的诊断结果的误差进行加权计算:
当所有的μr都取最小值时,如果则将该父节点的所有子节点都 修剪去除。
作为优选的技术方案,步骤4)中第r个节点上输出变量为C1的糖尿病 可能性概率P(C1|y1·y2·y3·····ym)的计算公式如下:
P ( C 1 | y 1 · y 2 · y 3 · · · · · y m ) = P ( C 1 ) · P ( y 1 | C 1 ) · P ( y 2 | C 1 ) · · · · · P ( y m | C 1 ) Σ k = 1 3 P ( C k ) · P ( y 1 | C k ) · P ( y 2 | C k ) · · · · · P ( y m | C k ) ]]>
P(Ck)=freq(Ck,D)/|D|,(k=1,2,3)
P ( y m | C k ) = 1 P ( C k ) ( freq ( C k , y m ) / freq ( C k , D ) ) , ( k = 1,2,3 ) ]]>
其中|D|为训练训练样本D的样本总数;
freq(Ck,D)为训练样本D中属于Ck类糖尿病诊断结果的样本数量;
freq(Ck,ym)为训练样本D中包含输入变量ym的属于Ck类糖尿病诊断结 果的样本数量;
P(Ck)为训练样本D中糖尿病诊断结果为Ck的概率;P(ym|Ck)为训练样本 D中糖尿病诊断结果为Ck且包含特征属性ym的概率。
作为优选的技术方案,所述决策树模型选自C5.0决策树模型。
本发明的糖尿病系统大数据来自于专业糖尿病管理系统构成的糖尿病 智能管理系统大数据,所提取的糖尿病特征属性将更加具有专业性、完整性, 减少由于属性不专业和不完整带来的糖尿病概率误差。
本发明的优点是:
(1)本发明首先采用决策树模型来预测糖尿病诊断结果:是、可能、 否,并根据信息增益率作为选择最佳分支变量的依据,提高了分类的精度, 然后采用朴素贝叶斯模型进一步筛选特征属性,对可能发生糖尿病进行了概 率计算,经过了上一层模型的预处理,本发明基于糖尿病系统大数据的糖尿 病概率计算结果更加精确,同时采用决策树和朴素贝叶斯两层模型的新思路 进行糖尿病概率的预测,摆脱了以往一层模型的预测结果区间大、范围广、 较为模糊的缺陷,这将为糖尿病防治提供重要的辅助预测功能,降低糖尿病 的发生概率;
(2)本发明的决策树模型是利用训练样本自顶向下构造,而后再从下 向上剪枝,都是通过节点关联,利于结构化编程实现,同时本发明的朴素贝 叶斯模型的数学计算方法更利于计算机的处理,实现起来很容易;
(3)本发明构建糖尿病C5.0决策树模型,其C5.0决策树模型是C4.5 应用于大数据集的分类算法,提高了执行效率,减少了内存使用,同时C5.0 决策树模型规则十分直观,在面对数据遗漏和输入字段很多的问题时非常稳 健,并且它通常不需要很多的训练次数。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明的框架图;
图2为本发明基于糖尿病系统大数据的糖尿病概率计算方法流程图;
图3为本发明的决策树模型经后剪枝的示意图;
图4为本发明的决策树模型中输出变量为C1的示意图。
具体实施方式
实施例:
本发明具体通过以下的技术方案实现的:
如图1和图2所示,本发明主要为优化糖尿病防治技术设计了一种基于 糖尿病系统大数据的糖尿病概率计算方法,该方法首先从专业的糖尿病管理 系统中获取训练样本即筛选出影响糖尿病的特征属性,其次通过C5.0决策 树模型对糖尿病进行初步预测,利用决策树剪枝进一步优化特征属性,最后 通过朴素贝叶斯模型对可能发生糖尿病的结果进行概率计算,得出更为直观 精确的预测结果。其具体步骤如下:
1)构建糖尿病C5.0决策树模型,提取70%的糖尿病系统大数据作为所 述决策树模型的训练样本S,根据该训练样本S获取糖尿病特征属性并将其 作为所述决策树模型的输入变量Xi,每个输入变量Xi都有其对应的分类xij,
其中i=1,2,…,n,j的值由其对应的Xi分类值确定(如表1所示);
表1为本发明的决策树模型中输入变量Xi的分类表:
2)为了解决训练样本S自身信息熵偏大的问题,采用信息增益率来替代 信息增益进行最佳分枝变量的选择,即根据所述训练样本S的信息增益率 Gains(Xi)选择所述决策树模型的最佳分枝变量,该信息增益率Gains(Xi)计算公 式如下:
Info ( S ) = - Σ k = 1 3 ( ( freq ( C k , S ) / | S | ) · log 2 ( ( freq ( C k , S ) / | S | ) ) ) ]]>
Info ( X i ) = - Σ j ( ( | x ij | / | X i | ) · Info ( x ij ) ) , ( i = 1,2 , . . . , n ) ]]>
Info ( x ij ) = - Σ k = 1 3 ( ( freq ( C k , x ij ) / | x ij | ) · log 2 ( ( freq ( C k , x ij ) / | x ij | ) ) ) ]]>
Gain(Xi)=Info(S)-Info(Xi),(i=1,2,…,n)
Gains(Xi)=Gain(Xi)/Info(Xi),(i=1,2,…,n)
其中,Ck为糖尿病诊断结果的决策树输出变量,k=1,2,3,C1、C2、C3分 别对应为可能、否、是糖尿病诊断结果的决策树输出变量;
|S|为训练样本S的样本总数;
freq(Ck,S)为训练样本S中属于Ck类糖尿病诊断结果的样本数量;
freq(Ck,xij)为训练样本S中包含输入变量Xi分类值为xij的属于Ck类糖尿 病诊断结果的样本数量;
|Xi|为训练样本S中包含输入变量Xi的样本数量;
|xij|为训练样本S中包含输入变量Xi分类值为xij的样本数量;
Info(S)为训练样本S的信息熵;Info(Xi)为糖尿病特征属性Xi在训练样本 S中的条件熵;Info(xij)为糖尿病特征属性分类xij在训练样本S中的条件熵;
Gain(Xi)为糖尿病特征属性Xi的信息增益;
4)提取剩余的30%的糖尿病系统大数据并从下向上进行决策树后剪枝, 其关键是误差的估计及剪枝标准的设置;该决策树后剪枝具体方法如下:
采用置信区间法,给定置信水平1-α,假设第r个节点上的Ar个诊断预 测中有Br个是错误的,则错误率为Br/Ar,且通过正态分布表得到第r个节点 上的糖尿病诊断结果的误差μr满足:
P { | B r A r - μ r B r A r ( 1 - B r A r ) / A r | ≤ Z α / 2 } = 1 - α ]]>
令Er=Br/Ar,μr的置信区间为:
[ E r - Z α / 2 E r ( 1 - E r ) A r , E r + Z α / 2 E r ( 1 - E r ) A r ] ]]>
假设父节点上的诊断结果的误差为μ,每个子节点占该分支样本量的比 例为θr,对父节点拥有的所有子节点的诊断结果的误差进行加权计算:
当所有的μr都取最小值时,如果则将该父节点的所有子节点都 修剪去除(参照图3所示,其中node3、node5、node7的子节点都已修剪去 除)。
5)构建糖尿病朴素贝叶斯模型,从糖尿病系统大数据中提取包含上述 决策树模型筛选后的特征属性数据并重新构成训练样本D,提取上述决策树 模型中所有输出变量为C1的节点(以图3为例,提取以后的结果如图4所示), 自上向下获取每个节点所经过的特征属性分类xij,并定义第r个节点所拥有 的特征属性集合Yr为:Yr={y1,y2,…,ym},其中m是对应节点所拥有的特征属 性的个数,再利用贝叶斯公式得,第r个节点上输出变量为C1的糖尿病可能 性概率P(C1|y1·y2·y3·····ym)为:
P ( C 1 | y 1 · y 2 · y 3 · · · · · y m ) = P ( C 1 ) · P ( y 1 | C 1 ) · P ( y 2 | C 1 ) · · · · · P ( y m | C 1 ) Σ k = 1 3 P ( C k ) · P ( y 1 | C k ) · P ( y 2 | C k ) · · · · · P ( y m | C k ) ]]>
P(Ck)=freq(Ck,D)/|D|,(k=1,2,3)
P ( y m | C k ) = 1 P ( C k ) ( freq ( C k , y m ) / freq ( C k , D ) ) , ( k = 1,2,3 ) ]]>
其中|D|为训练训练样本D的样本总数;
freq(Ck,D)为训练样本D中属于Ck类糖尿病诊断结果的样本数量;
freq(Ck,ym)为训练样本D中包含输入变量ym的属于Ck类糖尿病诊断结 果的样本数量
P(Ck)为训练样本D中糖尿病诊断结果为Ck的概率;P(ym|Ck)为训练样本 D中糖尿病诊断结果为Ck且包含特征属性ym的概率。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技 术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护 范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的 保护范围之内。