[0008] 本发明的目的针对上述问题,提出一种基于关联规则的改进贝叶斯分类方法,并将其应用于个人收入判断分类方法中。这种方法是基于关联规则来提升准确率的,可以适用于除文本数据以外的其他种类的数据集,解决了关联规则改进的贝叶斯算法只适应于文本分类的问题。在本方法中首先提出了基于连续型数据的类条件概率估计方法,用于确定各类的类条件概率。其次,在分割后的数据集中引入拉普拉斯校准,避免0点影响过大的问题。再次,提出一种改进关联规则算法,这种方法可以根据训练集的分类结果来衡量两个属性之间的密切关系。最后,引入属性加权的概念,从而解决朴素贝叶斯算法所有属性对结果影响相同的问题。
[0009] 为实现上述技术问题,本发明所采用的技术解决方案如下:一种基于连续型数据集的改进朴素贝叶斯算法,包括以下步骤:
[0010] 步骤(1)、获取用于甄别居民收入水平的数据集,其中属性变量包括年龄、工种、学历、性别、工作地点等用于对居民收入水平进行分类的信息;
[0011] 上述收集的数据集属性变量包括连续型属性和离散型属性;
[0012] 步骤(2)、对步骤(1)获取的数据集中离散文字型属性进行量化处理:
[0013] 从离散文字型属性中选择一个属性,将其中文字相同的元素用相同的数字表示,文字内容不同的元素不得使用同一数字表示。
[0014] 譬如选择工种属性,在工种属性中包括医生,教师,律师等文字内容,量化处理过程为,将工种属性中出现的所有内容为医生的元素用1来代替,教师用2来代替,律师用3来代替,不得出现教师,律师皆用1来代替的情况。
[0015] 步骤(3)、对步骤(1)获取的数据集中连续型属性进行离散化处理:
[0016] 3.1 从数据集中选择连续型属性A;
[0017] 3.2 根据数据集中存在的分类结果C1,C2,…,Cn,将属性A中分属不同类别的元素集合记为Ac1,Ac2,…,Acn。
[0018] 3.3 计算Ac1,Ac2,…,Acn均值μ1,μ2,…,μn和方差
[0019] 3.4 采用高斯公式计算相邻两个类别元素集Aci和Ac(i+1)的交点xi,记为q1,q2,…,qn-1。交点的计算公式如下:
[0020]
[0021] 其中1≤i≤n-1;
[0022] 3.5 将交点q1,q2,…,qn-1按从小到大的顺序进行排列,并以其为分割点对属性A的所有元素进行分类,构成元素集A1,A2,…,An。
[0023] 3.6 将3.5处理后的同属一类的所有元素用一个常数来代替,属于不同类别的则必须使用不同的常数来代替(比如A1中的用数字1来代替,A2中的用2来代替…;A1和A2不能同使用数字1来代替)。
[0024] 3.7 采用步骤3.1-3.6对其他的连续型属性进行离散化处理,直到所有的连续属性皆处理完毕,整理归并;
[0025] 步骤(4)、对步骤(2)-(3)初步处理后对数据集中存在的类条件概率为0的情况进行处理;
[0026] 类条件概率是以类别作为条件的概率。在步骤4中具体指在某属性类别中,某总分类结果出现的概率。举个例子,即在医生这一属性类别中,年收入超过50w的医生占全部医生的概率。反过来说也属于类条件概率,但是不便于理解。
[0027] 通过使用拉布拉斯校准来避免0点影响过大的问题,故在每一属性的类条件概率对应的属性数量值上加1,从而避免0的出现;
[0028] 步骤(5)、求出各属性各类的先验概率和类条件概率P(Ai|Cj),其中Ai表示属性A中第i个属性类别,Cj表示分类结果C中第j个类别。
[0029] 步骤(6)、采用改进的关联规则算法来判断属性之间的相关性,判断出关联度较高的属性:
[0030] 6.1 选择属性类别个数相同的属性,判断同一总分类结果Ck下任意两个属性类别的关联程度:
[0031] P(Ai|Ck)-P(Bi|Ck),i≤n,k≤n;
[0032] 属性类别是指属性自己内部的类别,比如我们上文提到的工种属性中的医生,律师,教师等分类。
[0033] 若所有关联程度绝对值均小于0.2,则说明在总分类结果Ck中,属性A和B的相关度较高,故需要继续判断其他总分类结果中属性A和B的相关度;若存在大于0.2的情况,则认为这两个属性的相关程度不高,故无需继续进行判断;
[0034] 6.2 若在所有的总分类结果中,属性A和属性B的关联度仍是较高,则从其中任意选择一个属性保留,将另一个属性删除;若两个属性的关联度在总分类结果下存在偏低的情况,则将两个属性均保留。
[0035] 上述提及的总分类结果指的是数据集本身自带的最终结果的类别。拿本文举例,本文衡量的是个人收入分类,具体包括年收入大于50w的,30-50w的,10-30w的,10w以下的。这个分类本身就存在于数据集中。
[0036] 简单的描述一个数据集:
[0037]
[0038] 这是一个用于分类的数据集,必须包括最后的年收入的信息。
[0039] 6.3 对其他属性类别个数相同的属性根据步骤6.1-6.2操作进行相关度判断,并根据结果对数据集中的属性进行删除和保留,直到都所有属性类别个数相同的属性被判断完毕,更新数据集。
[0040] 步骤(7)、采用属性加权来改变每个属性的权重,进而提升准确率。
[0041] 7.1 各总分类结果下寻求属性A中最大值类条件概率,记为P(Ai|C1),P(Aj|C2),…,P(Ak|Cn);若属性A的属性类别重复出现,则说明属性A的属性类别与总分类结果的关联度偏低,认为属性A不是一个好的属性,故删除之;若属性A的属性类别均不一样,则说明属性A的属性类别与总分类结果的关联度较高,认为属性A是一个好的属性,故保留之,进行步骤7.2;
[0042] 7.2 根据步骤7.1得到的最大值类条件概率,计算属性A的平均置信度,即与总分类结果的关联度:
[0043] 其中T的值越大,说明关联程度越高。
[0044] 7.3 根据步骤7.2得到的属性A的平均置信度,并依据上述步骤得到其他属性的置信度,计算次方系数α=1-T,则属性加权后的公式为 代表着使属性加权后的贝叶斯公式分子取最大值时对应的Ci的值。
[0045] 7.4 根据步骤7.1-7.3,对其他的属性进行与总分类结果的相关性判断,并据此进行删除或者加权操作。
[0046] 步骤(8)、分类判断过程。
[0047] 多属性的贝叶斯基础公式为:
[0048]
[0049] 步骤(7)中所示: 则有 求出的Ci即为元素对应的最大类别。
[0050] 采用上述步骤对所有元素进行判定,Ci最大值所对应的分类结果即为所需的分类结果。
[0051] 本发明的有益效果是:
[0052] 与现有技术相比,本发明能够应用于除了文本数据集以外的其他类型的数据集,包括离散型和连续型数据集在内,极大的提高了应用范围;而且能够提高一定的准确率,尤其是在属性类别过多的情况下,提升更为明显。