首页 / 数据挖掘方法及设备

数据挖掘方法及设备有效专利 发明

技术领域

[0001] 本发明涉及数据挖掘领域,尤其涉及一种数据挖掘方法及设备。

相关背景技术

[0002] 数据挖掘(data mining),是一种透过数理模式来分析企业内储存的大量资料,以找出不同的客户或市场划分,分析出消费者喜好和行为的方法。
[0003] 利用数据挖掘算法对数据进行挖掘,可以得到数据挖掘结果,而根据数据挖掘结果,就能做到分类(Classification)、估值(Estimation)、预言(Prediction)、相关性分组或关联规则(Affinity grouping or association rules)、聚集(Clustering)、描述和可视化(Description and Visualization)、复杂数据类型挖掘等后续处理。
[0004] 在现有技术中,为了进行上述后续处理,会采用不同数据挖掘算法分别进行多次挖掘和调校,最终选取一种效果最好的数据挖掘算法来进行数据挖掘计算并得到相应的数据挖掘结果。然而,由于不同数据挖掘算法可能会针对数据不同的属性来进行数据挖掘,因此,上述后续处理若只针对某一种数据挖掘算法得到的数据挖掘结果来进行,会存在片面性的问题。然而,现有技术中还没有给出对不同数据挖掘算法得到的数据挖掘结果进行融合以克服上述缺陷的方案。

具体实施方式

[0016] 本发明实施例提供一种数据挖掘方案,实现将多种数据挖掘算法得到的数据挖掘结果以一个数据挖掘结果融和值进行体现。
[0017] 以下结合附图,对本发明实施例提供的方案进行详细描述。
[0018] 首先,本发明实施例提供一种数据挖掘方法,该方法的具体流程示意图如图1所示,包括下述步骤:
[0019] 步骤11,获取至少两种不同数据挖掘算法针对同一数据分别挖掘得到的数据挖掘结果;
[0020] 步骤12,根据预先确定的对应于不同数据挖掘算法的数据挖掘结果有效范围、预先针对上述数据确定的对应于不同数据挖掘算法的权重值与获取的数据挖掘结果,确定数据挖掘结果融和值。
[0021] 在上述方法中,任一数据挖掘算法所对应的数据挖掘结果有效范围的确定方式可以但不限于采用下述步骤:
[0022] 首先,确定完全满足该数据挖掘算法的逻辑表达式的数据挖掘结果;
[0023] 然后,将确定的数据挖掘结果确定为该数据挖掘算法对应的数据挖掘结果有效范围。
[0024] 较佳地,对应于不同数据挖掘算法的权重值的确定方式可以但不限于采用下述步骤:
[0025] 首先,获取至少两种不同数据挖掘算法中的各算法针对样本数据分别挖掘得到的样本数据挖掘结果;
[0026] 然后,根据预先确定的对应于不同数据挖掘算法的数据挖掘结果有效范围、获取的样本数据挖掘结果和预先分别为各算法分配的多个第一权重值,确定分别对应于不同第一权重值的样本数据挖掘结果融和值;
[0027] 最后,从样本数据挖掘结果融和值中,选取一个数据挖掘结果融和值,并将选取的样本数据挖掘结果融和值对应的各第一权重值,分别确定为相应的数据挖掘算法的权重值。
[0028] 在本发明实施例中,可以采用下述公式[1]完成根据不同数据挖掘算法的数据挖掘结果有效范围和权重值实现对数据挖掘结果的融合:
[0029]
[0030] 其中,N为步骤11中所述的至少两种不同数据挖掘算法所挖掘得到的数据挖掘结果总个数,i为数据挖掘结果在所述总个数中的排列序号,i满足1≤i≤N,Li为在所述至少两种不同数据挖掘算法所挖掘得到的数据挖掘结果中的第i位数据挖掘结果,Wi为与得到Li的数据挖掘算法对应的权重值,Φi为与得到Li的数据挖掘算法对应的数据挖掘结果有效范围, 表示当Li被Φi包含时该项取值为Li·Wi, 表示当Li不被Φi包含时该项取值为0, 表示当Li被Φi包含时该项取值为Wi。
[0031] 在本发明实施例中,当不同数据挖掘算法得到的数据挖掘结果的形式不同时(比如有的数据挖掘结果可能为数值,有的可能为一表达式),为了利用上述公式对不同数据挖掘结果进行融合处理,用于融合的数据挖掘结果可以是预先进行了一系列预处理的数据挖掘结果。比如,可以先获取至少两种不同数据挖掘算法针对同一数据分别挖掘得到的第一挖掘结果,并按照预设的挖掘结果与不同数值的对应关系,分别确定获取的第一挖掘结果对应的数值,然后再分别执行对确定的各数值的归一化操作,并将归一化后的各数值分别确定为相应的数据挖掘结果。
[0032] 本发明实施例提供的上述方案可针对任意多种数据挖掘算法得到的数据挖掘结果进行融合处理。
[0033] 对应于本发明实施例提供的数据挖掘结果的处理方法,本发明实施例还提供一种数据挖掘设备,用以提供一种融合不同数据挖掘算法得到的数据挖掘结果的方案。该设备的具体结构示意图如图2所示,包括以下功能单元:
[0034] 获取单元21,用于获取至少两种不同数据挖掘算法针对同一数据分别挖掘得到的数据挖掘结果;
[0035] 融合值确定单元22,用于根据预先确定的对应于不同数据挖掘算法的数据挖掘结果有效范围、预先针对上述同一数据确定的对应于不同数据挖掘算法的权重值以及获取单元21获取的数据挖掘结果,确定数据挖掘结果融和值。
[0036] 较佳地,针对任一数据挖掘算法所对应的有效范围的一种确定方式,本发明实施例提供的上述设备还可以进一步包括:
[0037] 数据挖掘结果确定单元,用于确定完全满足任一数据挖掘算法的逻辑表达式的数据挖掘结果;有效范围确定单元,用于将数据发掘结果确定单元确定的数据挖掘结果确定为该数据挖掘算法对应的该有效范围。此时,融合值确定单元具体可以用于:根据有效范围确定单元确定的数据挖掘结果有效范围、预先针对上述同一数据确定的对应于不同数据挖掘算法的权重值、获取单元21获取的数据挖掘结果,确定数据挖掘结果融和值。
[0038] 较佳地,针对任一数据挖掘算法所对应的权重值的一种确定方式,本发明实施例提供的上述设备还可以进一步包括:
[0039] 样本数据挖掘结果获取单元,用于获取上述至少两种不同数据挖掘算法中的各算法针对样本数据分别挖掘得到的样本数据挖掘结果;样本数据挖掘结果融合值确定单元,用于根据预先确定的对应于不同数据挖掘算法的数据挖掘结果有效范围、预先分别为各算法分配的多个第一权重值和获取的样本数据挖掘结果,确定分别对应于不同第一权重值的样本数据挖掘结果融和值;权重值确定单元,用于从样本数据挖掘结果融合值确定单元确定的融和值中选取一个融和值,并将选取的融和值对应的各第一权重值,分别确定为相应的数据挖掘算法的权重值。此时,融合值确定单元还可以具体用于:根据预先确定的对应于不同数据挖掘算法的数据挖掘结果有效范围、预权重值确定单元确定的对应于不同数据挖掘算法的权重值、获取单元21获取的数据挖掘结果,确定数据挖掘结果融和值。
[0040] 在一个较佳的实施例中,上述获取单元21具体可以划分为以下功能模块:
[0041] 获取模块,用于获取上述至少两种不同数据挖掘算法针对同一数据分别挖掘得到的第一挖掘结果;数值确定模块,用于按照预设的挖掘结果与不同数值的对应关系,分别确定获取模块获取的第一挖掘结果对应的数值;归一化模块,用于对数值确定模块确定的数值分别执行归一化操作,得到归一化后的各数值;数据挖掘结果确定模块,用于将归一化模块得到的归一化后的各数值分别确定为相应的数据挖掘结果。
[0042] 本发明实施例提供的上述方案在实际中的一种实现架构示意图如图3所示,其中,数据挖掘算法1~数据挖掘算法n(n为不小于2的自然数)为互不相同的多种数据挖掘算法(在这里,可将采用不同参数的同一数据挖掘算法看做是不同的两种数据挖掘算法)。
[0043] 计算模块用于根据数据挖掘算法1~数据挖掘算法n的算法逻辑和参数对数据进行挖掘,并负责数据挖掘结果的数值化和归一化。具体地,数值化是指采用合适的数值对数据挖掘结果的编码进行表达,例如用0这一数值表示数据挖掘结果“否”,用1表示数据挖掘结果“是”,而用介于0~1之间的数值表示其他数据挖掘结果;而归一化是指将数值化后的数据挖掘结果Xi进行归一化处理,归一化处理的公式如下式[2]所示:
[0044] (Xi-Min(X))/(Max(X)-Min(X)) [2][0045] 例如一组数值化后的数据挖掘结果中的最大值Max(X)为9,最小值Min(X)为1,则针对数值化后为3的数据挖掘结果,对其按照上述公式进行归一化处理后得到的结果为(3-1)/(9-1)=0.25。计算模块处理后的数据挖掘结果可以放入图中的数据库中。
[0046] 融合模块用于针对计算模块进行数值化、归一化处理后得到的数据挖掘结果,根据相应的数据挖掘算法的权重值和数据挖掘结果有效范围对数据挖掘结果进行融合处理,最后得到大小在0~1之间的数据挖掘结果融合值。其中,需要重点说明的是,数据挖掘结果融合算法中所采用的权重值和数据挖掘结果有效范围需预先进行设定。融合模块处理得到的数据也可以放入数据库中。
[0047] 在本发明实施例中,为不同数据挖掘算法设置不同权重值的目的在于区分各种数据挖掘算法在最后结果中的比重。权重值的设置可以利用样本数据来实现。比如,针对需要融合数据挖掘算法1~3得到的数据挖掘结果的融合算法,可利用同一样本数据来对权重值如何设置进行试验。可以分别为融合数据挖掘算法1~3设置10个权重值,其分别为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1,然后,针对数据挖掘算法1~3权重值的不同组合所得到样本数据挖掘结果,分别利用公式[1]计算样本数据挖掘结果融和值,直到遍历数据挖掘算法1~3权重值的所有组合情况后,从计算得到的样本数据挖掘结果融和值中选取最为准确的融合值并以选取的该融合值对应的权重组合确定为数据挖掘算法1~3所分别设置的最佳的权重值。需要说明的是,样本数据挖掘结果融和值是否准确可通过判断样本数据挖掘结果融和值是否符合样本情况来确定。比如,若需从样本数据中挖掘为“商务人士”的用户,而给出的样本数据中的用户均不为“商务人士”,则假设以“0”这一融合值指示样本中的用户均不为“商务人士”的情况,那么就应选取与“0”最为接近的一个融和值作为最准确的值,因为当融和值与“0”最接近时,最准确地反映了样本数据中的用户均不为“商务人士”这一情况。
[0048] 在本发明实施例中,设置数据挖掘结果有效范围的目的在于对采用某些数据挖掘算法产生的无意义的数据挖掘结果进行剔除。例如,采用基于逻辑规则的数据挖掘算法挖掘高端商务人士的用户时,所采用的逻辑表达式可以为(月均消费大于200)AND(月均漫游费大于50)AND(订购航信通)。该逻辑表达式的含义在于,当某用户的数据满足该逻辑表达式时,认为该用户是高端商务人士(此时的数据结果可以看做为“是”,在后续数值化处理时可以用“1”表示该数据挖掘结果)。而针对某用户的数据不满足该逻辑表达式的情况,实际上却并不能说明该用户不是高端商务人士(比如高端商务人士并不一定会订购航信通),而只能说明此种情况下无法肯定该用户是高端商务人士,在此种情况下,此时的数据挖掘结果可以看做为“否”,可以用“0”表示该数据挖掘结果,但实际上,“0”表示的该数据挖掘结果并不能说明用户不是商务人士。因此,针对该基于逻辑规则的数据挖掘算法,除“1”之外的数据挖掘结果都应被看做是不合理的数据。可见,针对该基于逻辑规则的数据挖掘算法的数据挖掘结果有效范围应为“1”,即:只有为1的数据挖掘结果有效,而为其他值的数据挖掘结果均无效。通过对数据挖掘结果有效范围的设置,还可以剔除一些由于数据质量问题而导致出现的异常高或异常低的数据挖掘结果。设置数据挖掘结果有效范围的好处在于,可以避免不合理的数据挖掘结果对融合结果产生不利影响而导致融合结果可信度不高。
[0049] 上述为根据数据挖掘算法的逻辑表达式来确定数据挖掘结果有效范围的方式,此外,针对其他数据挖掘算法,也可能利用经验值来确定相应的数据挖掘结果有效范围。
[0050] 在一个具体的实施例中,假设需要融合多个数据挖掘算法的数据挖掘结果来确定一个名称为“高级商务人士”的用户标签的值(这里的用户标签的值可以看做上述融和值)。在融合过程中,选取三种数据挖掘算法得到的数据挖掘结果进行融合,其中,这三种数据挖掘算法分别为采用不同逻辑表达式的两个标签规则算法(标签规则第一算法和标签规则第二算法)和一个贝叶斯算法。三种算法的相关信息如下表1所示:
[0051] 表1:
[0052]
[0053] 根据上表1,对于某用户A,如果采用标签规则第一算法得到的数据挖掘结果为1,采用标签规则第二算法得到的数据挖掘结果为0,采用标签/业务特征概率法得到的数据挖掘结果为0.85,则根据式[1]对这三个数据挖掘结果进行融合后,该用户A的“高级商务人士”的用户标签的值=(0.2×1+0+0.5×0.85)/(0.2+0+0.5)≈0.893。
[0054] 对于某用户B,如果采用标签规则第一算法得到的数据挖掘结果为1,采用标签规则第二算法得到的数据挖掘结果为1,采用标签/业务特征概率法得到的数据挖掘结果为0.03,则该用户B的“高级商务人士”的用户标签的值=(0.2×1+0.3×1+0)/(0.2+0.3+0)=1。
[0055] 具体地,若用流程图来直观地描述确定用户标签的值的过程,则可以参照图4。该过程可包含下述步骤:
[0056] 步骤41,计算模块确定标签规则第一算法;
[0057] 步骤42,计算模块利用确定的算法对用户A的数据进行挖掘;
[0058] 步骤43,计算模块根据融合所需的各算法,判断是否还需要融合标签规则第二算法得到的数据挖掘结果(若此时无需融合融合标签规则第二算法得到的数据挖掘结果或已经根据标签规则第二算法进行了数据挖掘,则相应的判断结果应为“否”),在判断结果为是时,执行步骤44,否则,执行步骤45;
[0059] 步骤44,计算模块确定标签规则第二算法,然后执行步骤42;
[0060] 步骤45,计算模块获取相应的数据挖掘结果;
[0061] 步骤46,计算模块执行数据挖掘结果的数值化处理过程,比如,当采用标签规则第一算法进行用户A的数据挖掘时,数值化处理后的数据挖掘结果为“1”,而当采用标签规则第一算法进行用户A的数据挖掘时,数值化处理后的数据挖掘结果为“0”;
[0062] 步骤47,计算模块执行数值化处理后的数据挖掘结果的归一化处理,得到归一化处理后的数据挖掘结果;
[0063] 步骤48,计算模块进一步判断是否还需获取其他算法得到的数据挖掘结果,在判断结果为是时,执行步骤49,否则,执行步骤410;
[0064] 步骤49,计算模块获取该其他算法得到的数据挖掘结果,并进一步执行步骤46;
[0065] 步骤410,融合模块根据相应的数据挖掘算法的权重和数据挖掘结果有效范围对用户A的数据挖掘结果进行如式[1]所示的融合处理,得到数据挖掘结果融合值,流程结束。
[0066] 类似地,通过上述步骤41~410,也可以实现用户B的数据的挖掘以及对相应的数据挖掘结果进行融合。
[0067] 具体地,融合模块中执行的流程可以如图5所示,包含下述步骤:
[0068] 步骤51,融合模块对用户A对应的融合值LA、LB执行初始化操作,使得LA=LB=0;
[0069] 步骤52,融合模块获取采用标签规则第一算法获得的经过数值化、归一化处理后的数据挖掘结果;
[0070] 步骤53,融合模块确定标签规则第一算法对应的权重值和数据挖掘结果有效范围;
[0071] 步骤54,融合模块判断获取的数据挖掘结果是否在相应的数据挖掘结果有效范围内,在判断结果为是时,执行步骤55,否则,执行步骤56;
[0072] 步骤55,融合模块根据相应的数据挖掘算法的权重和获取的数据挖掘结果,分别确定式[1]的分子分母部分;
[0073] 步骤56,融合模块判断是否需要获取采用标签规则第二算法获得的经过数值化、归一化处理后的数据挖掘结果,在判断结果为是时,执行步骤57,否则,执行步骤58,在本步骤中,若此时无需获取融合标签规则第二算法得到的数据挖掘结果或已经获取了标签规则第二算法得到的数据挖掘结果,则相应的判断结果均为“否”;
[0074] 步骤57,融合模块获取采用标签规则第二算法获得的经过数值化、归一化处理后的数据挖掘结果,以及确定标签规则第二算法对应的权重值和数据挖掘结果有效范围,然后转为执行步骤54;
[0075] 步骤58,根据确定的分子分母部分确定数据挖掘结果融合值,流程结束。
[0076] 经过上述处理后,能够分别确定出用户A的“高级商务人士”的用户标签的值与用户B的“高级商务人士”的用户标签的值,通过这两个值的大小,根据用户B的“高级商务人士”的用户标签的值大于用户A的“高级商务人士”的用户标签的值的这一比较结果,可以得到的结论是用户B更可能为“高级商务人士”。进一步地,可以比较用户A、B的“高级商务人士”的用户标签的值与预设的“高级商务人士”的标签阈值之间的大小关系,假设该标签阈值为0.7,则可以判断用户A、B均为“高级商务人士”,从而后续在针对“高级商务人士”进行业务推广等服务时,就可以将确定的“高级商务人士”作为业务推广对象。
[0077] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页 第1页 第2页 第3页
相关技术
数据挖掘相关技术
方法设备相关技术
周华发明人的其他相关专利技术