特征选择方法、装置、电子设备及存储介质与流程
未命名
09-29
阅读:68
评论:0
1.本公开涉及人工智能和大数据技术领域,尤其涉及一种特征选择方法、装置、电子设备及存储介质。
背景技术:
2.金融行业的特征数量往往比较多,其中存在很多冗余的特征,特征之间可能存在相互依赖,数据量大,如果将过多的特征放入模型而不进行有效的特征选择容易导训练模型所需的时间较长、模型过于复杂且过拟合现象层出不穷,引起维度灾难等。
3.因此,如何快速选择有效的特征与模型进行有效的结合显得异常重要。
技术实现要素:
4.本公开提供一种特征选择方法、装置、电子设备及存储介质,能够结合不同特征组合的不同表现,以及特征之间的相互影响,快速有效的选择特征,并且还可以使利用得到的目标数据集训练模型时,缩短训练时间减少内存。
5.第一方面,本公开提供一种特征选择方法,包括:获取原始数据集,其中,原始数据集中包括用户的特征;对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征;根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。
6.在一些实施例中,所述根据所述候选特征与结果标签的相关系数以及所述候选特征的重要性值,确定包括目标特征的目标数据集,包括:根据所述候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定所述候选数据集中的第一子数据集和第二子数据集;根据所述候选特征的重要性值,利用前向特征选择方法,确定所述第一子数据集进行特征选择后的目标第一子数据集;根据所述候选特征的重要性值,利用后向特征选择方法,确定所述第二子数据集进行特征选择后的目标第二子数据集;确定所述目标第一子数据集进行训练的第一训练结果,以及所述目标第二子数据集进行训练的第二训练结果;根据所述第一训练结果和所述第二训练结果,确定包括所述目标特征的所述目标数据集。
7.在一些实施例中,所述根据所述候选特征的重要性值,利用前向特征选择方法,确定所述第一子数据集进行特征选择后的目标第一子数据集,包括:依次计算所述第一子数据集进行训练的第一结果;将所述候选特征中未在所述第一子数据集中,且重要性值最高的第一特征加入至所述第一子数据集中,并进行训练得到第一更新结果;响应于所述第一更新结果大于或等于所述第一结果,确定将所述第一特征加入至所述第一子数据集中;响应于所述第一更新结果小于所述第一结果,确定取消将所述第一特征加入至所述第一子数据集中,并将所述第一特征从所述候选特征中删除;以此类推,直至不存在所述候选特征,确定所述目标第一子数据集。
8.在一些实施例中,所述根据所述候选特征的重要性值,利用后向特征选择方法,确定所述第二子数据集进行特征选择后的目标第二子数据集,包括:依次计算所述第二子数
据集进行训练的第二结果;将所述第二子数据集中重要性值最低的第二特征,从所述第二子数据集中删除,并进行训练得到第二更新结果;响应于所述第二更新结果大于或等于所述第二结果,确定将所述第二特征从所述第二子数据集中删除;响应于所述第二更新结果小于所述第二结果,确定取消将所述第二特征从所述第二子数据集中删除,并忽略所述第二特征的重要性值;以此类推,直至所述第二子数据集中的所有所述候选特征均经过上述判断,确定所述目标第二子数据集。
9.在一些实施例中,所述方法还包括:将所述特征输入至特征重要性计算模型,得到所述特征对应的权重、增益和覆盖度;根据所述特征对应的权重、增益和覆盖度,确定所述特征的重要性值。
10.在一些实施例中,所述方法还包括:将所述特征以及结果标签输入至相关性计算模型,得到所述特征对应的皮尔逊相关系数和斯皮尔曼相关系数;根据所述特征对应的皮尔逊相关系数和斯皮尔曼相关系数,确定所述特征与所述结果标签的相关系数。
11.在一些实施例中,在所述对所述原始数据集中的所述特征进行多因素方差分析之前,所述方法还包括:对所述原始数据集中的所述特征进行预处理,以及随机下采样处理。
12.在一些实施例中,所述方法还包括:根据所述目标数据集中的所述目标特征,对用户评级模型进行训练,得到训练好的用户评级模型。
13.第二方面,本公开提供一种特征选择装置,包括:数据获取单元,用于获取原始数据集,其中,所述原始数据集中包括用户的特征;第一处理单元,用于对所述原始数据集中的所述特征进行多因素方差分析,得到至少一个候选数据集;其中,所述候选数据集中包括至少一个候选特征;第二处理单元,用于根据所述候选特征与结果标签的相关系数以及所述候选特征的重要性值,确定包括目标特征的目标数据集。
14.第三方面,本公开提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述的方法。
15.第四方面,本公开提供一种计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行上述的方法。
16.第五方面,本公开提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
17.本公开的实施例提供的技术方案至少带来以下有益效果:
18.通过实施本公开实施例,获取原始数据集,其中,原始数据集中包括用户的特征;对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征;根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。由此,能够结合不同特征组合的不同表现,以及特征之间的相互影响,快速有效的选择特征,并且还可以使利用得到的目标数据集训练模型时,缩短训练时间减少内存。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施
例,并与说明书一起用于解释本公开的原理。
21.图1为本公开实施例提供的一种特征选择方法的流程图;
22.图2为本公开实施例提供的一种原始数据集获取方法的示意图;
23.图3为本公开实施例提供的另一种特征选择方法的流程图;
24.图4为本公开实施例提供的又一种特征选择方法的流程图;
25.图5为本公开实施例提供的又一种特征选择方法的流程图;
26.图6为本公开实施例提供的一种模型训练方法的流程图;
27.图7为本公开实施例提供的一种特征选择装置的结构图;
28.图8为本公开实施例提供的特征选择装置中一种第二处理单元的结构图;
29.图9为本公开实施例提供的另一种特征选择装置的结构图;
30.图10为本公开实施例提供的另一种特征选择装置的结构图;
31.图11为本公开实施例提供的另一种特征选择装置的结构图;
32.图12为本公开实施例提供的电子设备的结构示意图。
具体实施方式
33.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
34.下面以具体地实施例对本公开的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
35.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
36.随着人工智能和大数据技术的快速发展,大量的数据和特征让模型变得臃肿,冗余的特征不必要的增加了算法优化器对参数进行搜索的空间,如何选择有效的特征与算法模型进行有效的结合显得异常重要,特征选择通俗的来说就是丢弃无用的特征的过程,通过特征选择不一定能够得到更加准确的模型,但是能够得到更加容易被理解的更易于解释的模型,实现了可解释性好,减少内存占用和减少算法的训练时间等目标,特征选择重点在于能够构建出优秀的特征子集,从而能够建立更好的分类器。
37.如何从大数据量的数据中快速选择有用的特征进行建模尤为重要,能够有效进行特征选择能够有效的降低内存和减少模型的训练时间,并且能够得到一个更容易被人理解,更易于解释的模型。
38.金融行业的特征数量往往比较多,其中存在很多冗余的特征,特征之间可能存在相互依赖,数据量大,如果将过多的特征放入模型而不进行有效的特征选择容易导训练模型所需的时间较长、模型过于复杂且过拟合现象层出不穷,引起维度灾难等。其中,有些算法可以用来进行特征的选择,例如:筛选、包装、嵌入。基于模型进行特征重要性进行排序,通过分析特征子集内部的特点来衡量其好坏,例如:评价指标有基于信息增益、基于距离、基于相关性等;有些算法用选取的特征子集对样本集进行分类,将分类的精度作为衡量特
征子集好坏的标准。而这些算法仅考虑单一的某个特征的好坏,需要考虑不同特征组合的不同表现以及特征之间的相互影响。
39.基于此,本公开实施例提供一种特征选择方法,获取原始数据集,其中,原始数据集中包括用户的特征;对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征;根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。由此,能够结合不同特征组合的不同表现,以及特征之间的相互影响,快速有效的选择特征,并且还可以使利用得到的目标数据集训练模型时,缩短训练时间减少内存。
40.需要说明的是,本公开实施例的特征选择方法可以由本公开实施例的特征选择装置执行,该特征选择装置可以由软件和/或硬件的方式实现,该特征选择装置可配置在电子设备中,其中,电子设备可以安装并运行特征选择程序。其中,电子设备可以包括但不限于智能手机、平板电脑等具有各种操作系统的硬件设备。
41.图1为本公开实施例提供的一种特征选择方法的流程图。如图1所示,该特征选择方法包括但不限于如下步骤:
42.s1:获取原始数据集,其中,原始数据集中包括用户的特征。
43.本公开实施例中,获取原始数据集,原始数据集中包括用户的特征。
44.其中,原始数据集中可以包括用户基础信息,用户评级信息,用户财务信息,用户信用的信息,用户授信信息等。
45.可以理解的是,原始数据集中包括用户的特征,特征可以是用户基础信息,用户评级信息,用户财务信息,用户信用的信息,用户授信信息等中的部分或全部信息。
46.本公开实施例中,获取原始数据集可以自动收集数据获取,或者还可以通过其他方式获取,本公开实施例对此不作具体限制。
47.示例性实施例中,如图2所示,本公开实施例中获取原始数据集的方法,包括:首先对于用户的特征进行前端埋点设置抽取用户的基础信息等,利用采集工具(flume、fluentd、logstash等)对日志进行采集,传送用户日志的消息队列到接入工具(kafka)中间键,利用logstash将日志统一成json格式传送到es进行实时的数据存储,最后通过消费kafka日志得到一些用户的基础信息,再通过关联用户的其他相关数据得到最后的原始数据集。
48.s2:对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征。
49.本公开实施例中,获取到原始数据集之后,可以对原始数据集中的用户的特征进行特征选择。
50.其中,对原始数据集中的特征进行多因素方差分析,可以采用多因子anova的分析方法,进行多类别特征和连续性目标变量的分析,得到至少一个候选数据集。
51.其中,多因素方差分析可以比较不同组之间的均值和方差,方差分析检验各组之间是否有差别,使得他们对于目标值的协同效果更好,在此情况下,确定至少一个组对应的候选数据集。
52.s3:根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。
53.本公开实施例中,在确定候选数据集中的候选特征之后,可以计算候选特征与结果标签的相关系数,以及候选特征的重要性值。
54.其中,计算候选特征与结果标签的相关系数的方法可以利用斯皮尔曼相关系数和/或皮尔逊相关系数相结合的方式计算候选特征与结果标签的相关系数,或者还可以采用其他方式,本公开实施例对此不作具体限制。
55.其中,计算候选特征的重要性值的方法可以采用xgboost(extreme gradient boosting,极致梯度提升)算法对数据集进行特征选择,通过在线替换实验的方式比对,确定候选特征的重要性值。
56.本公开实施例中,在计算得到候选特征与结果标签的相关系数以及候选特征的重要性值之后,可以根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。
57.示例性地,可以选择候选特征与结果标签的相关系数大于第一值,以及候选特征的重要性值大于第二值的候选特征,为目标特征,由此确定包括目标特征的目标数据集。
58.示例性地,可以根据候选特征与结果标签的相关系数以及候选特征的重要性值,对候选数据集中的候选特征进行筛选,确定包括目标特征的目标数据集。
59.通过实施本公开实施例,获取原始数据集,其中,原始数据集中包括用户的特征;对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征;根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。由此,能够结合不同特征组合的不同表现,以及特征之间的相互影响,快速有效的选择特征,并且还可以使利用得到的目标数据集训练模型时,缩短训练时间减少内存。
60.图3为本公开实施例提供的另一种特征选择方法的流程图。如图3所示,该特征选择方法包括但不限于如下步骤:
61.s10:获取原始数据集,其中,原始数据集中包括用户的特征。
62.其中,s10的相关描述可以参见上述实施例中的相关描述,此处不再赘述。
63.在一些实施例中,在s10之后,s20之前,本公开实施例提供的特征选择方法还包括:对原始数据集中的特征进行预处理,以及随机下采样处理。
64.其中,对原始数据集中的特征进行预处理,可以包括对特征进行异常值清洗、归一化、离散化处理中的至少一项。
65.另外,对于数量较多的特征,可以进行随机下采样处理,能够减少数量。
66.可以理解的是,由于原始数据集中的特征,不平衡且负样本特征少,正样本特征多,为了预测负样本的准确性,可以对正样本特征进行下采样处理。
67.s20:对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征。
68.其中,s20的相关描述可以参见上述实施例中的相关描述,此处不再赘述。
69.s30:根据候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定候选数据集中的第一子数据集和第二子数据集。
70.本公开实施例中,在对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集之后,可以分别根据候选数据集中的候选特征与结果标签的相关系数,以及第
一阈值和第二阈值,确定候选数据集中的第一子数据集和第二子数据集。
71.如图4所示,在一些实施例中,所述方法还包括:
72.s41:将特征以及结果标签输入至相关性计算模型,得到特征对应的皮尔逊相关系数和斯皮尔曼相关系数。
73.s42:根据特征对应的皮尔逊相关系数和斯皮尔曼相关系数,确定特征与结果标签的相关系数。
74.本公开实施例中,可以将特征以及结果标签输入至相关性计算模型,得到特征对应的皮尔逊相关系数和斯皮尔曼相关系数。
75.其中,皮尔逊相关系数主要关注两个变量(特征与结果标签)之间的线性关系,根据两组数据可知两总体均值,进而可以得出总体协方差。x,y变化一致,成正相关,方向相反成负相关。协方差可与用来反映相关性。
[0076][0077]
其中cov(x,y)是协方差,var(x)是方差,其值介于-1与1之间,-1代表负相关,1代表正相关。
[0078]
与皮尔逊相关系数相比,斯皮尔曼相关系数没有那些限制,比如要符合正态分布、样本容量要超过一定数量(比如30个),除此之外,斯皮尔曼相关系数不受离群值影响,适用于非线性。对于斯皮尔曼相关系数,不需要关心数据如何变化,符合什么样的分布,只需要关心每个变量对应数值的位置。如果两个变量的对应值,在各组内的排列顺位是相同或类似的(或者理解为一个变量是另外一个变量的严格单调函数),则具有显著的相关性。斯皮尔曼的计算公式为:
[0079][0080]
其中,di表示顺序的差值,n表示数据个数,得到相关系数值0.8-1.0极强相关,0.6-0.8强相关,0.4-0.6中等程度相关,0.2-0.4弱相关,0.0-0.2极弱相关或无相关。
[0081]
本公开实施例中,在确定特征对应的皮尔逊相关系数和斯皮尔曼相关系数之后,可以取其中的最大值,作为特征与结果标签的相关系数。
[0082]
本公开实施例中,在确定候选特征与结果标签的相关系数之后,可以进一步的根据候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定候选数据集中的第一子数据集和第二子数据集。
[0083]
示例性地,第一阈值可以为0.8、第二阈值可以为0.1。
[0084]
本公开实施例中,利用皮尔逊相关系数和斯皮尔曼相关系数得到的特征与结果标签的相关系数,对候选候选数据集进行分析,确定两个数据子集,第一子数据集和第二子数据集,其中,第一子数据集可以是一个保守特征子集即包括候选特征与结果标签的相关系数大于等于0.8的候选特征,第二子数据集可以是一个高性能子集即包括候选特征与结果标签的相关系数大于等于0.1的候选特征。
[0085]
请继续参见图3,在执行s30之后执行s40。
[0086]
s40:根据候选特征的重要性值,利用前向特征选择方法,确定第一子数据集进行
特征选择后的目标第一子数据集。
[0087]
如图5所示,在一些实施例中,所述方法还包括:
[0088]
s51:将特征输入至特征重要性计算模型,得到特征对应的权重、增益和覆盖度。
[0089]
s52:根据特征对应的权重、增益和覆盖度,确定特征的重要性值。
[0090]
本公开实施例中,将特征输入至特征重要性计算模型,得到特征对应的权重、增益和覆盖度,其中,特征重要性计算模型可以为xgboost算法,计算特征对应的权重(weight)、增益(gain)和覆盖度(cover)。
[0091]
其中,xgboost算法中内置三种特征重要性计算方法gain,weight,cover,分别从三个方面进行特征重要性计算,gain方法主要从特征在作为划分属性时loss平均的降低量(也就是特征的信息增益),以特征k=1,2,...,k为例,其重要度计算可以表述如下:
[0092][0093]
这里k表示某节点,t表示所有树的数量,n(t)表示第t棵树的非叶子节点数量,β(t,i)表示第t棵树的第i个非叶子节点的划分特征,所以β(.)∈1,2,...,k,i(.)是指示函数,g
γ
(t,i),h
γ
(r,i)分别表示落在第t棵树的第i个非叶子节点上所有样本的一阶导数和二阶导数之和,g
γ
(t,i,l),g
γ
(t,i,r)分别表示落在第t棵树上第i个非叶子节点的左、右节点上的一阶导数之和,同理,h
γ
(r,i,l),h
γ
(r,i,r)分别表示落在第t棵树上第i个非叶子节点的左、右节点上的二阶导数之和,所以有
[0094]gγ
(t,i)=g
γ
(t,i,l)+g
γ
(t,i,r),h
γ
(r,i)=h
γ
(r,i,l)+h
γ
(r,i,r)
[0095]
λ为正则化项的超参数。cover方法就是树模型在分裂时,特征下的叶子节点涵盖的样本数除以特征用来分裂的次数。分裂越靠近根部,cover值越大。比如可以定义为:特征在作为划分属性时对应样本的二阶导数之和的平均值:
[0096][0097]
参数含义跟gain公式中参数含义保持一致。weight方法特征在所有树中作为划分属性的次数。
[0098]
本公开实施例中,在得到特征对应的权重、增益和覆盖度之后,可以根据特征对应的权重、增益和覆盖度,确定特征的重要性值。
[0099]
其中,可以通过对特征对应的权重、增益和覆盖度进行加权平均,确定特征的重要性值。
[0100]
示例性地,特征对应的权重、增益和覆盖度分别对应的权重为三分之一。
[0101]
本公开实施例中,在确定候选特征的重要性值之后,可以根据候选特征的重要性值,利用前向特征选择方法,确定第一子数据集进行特征选择后的目标第一子数据集。
[0102]
在一些实施例中,s40包括:依次计算第一子数据集进行训练的第一结果;将候选特征中未在第一子数据集中,且重要性值最高的第一特征加入至第一子数据集中,并进行训练得到第一更新结果;响应于第一更新结果大于或等于第一结果,确定将第一特征加入至第一子数据集中;响应于第一更新结果小于第一结果,确定取消将第一特征加入至第一
子数据集中,并将第一特征从候选特征中删除;以此类推,直至不存在候选特征,确定目标第二子数据集。
[0103]
本公开实施例中,依次计算第一子数据集进行训练的第一结果;将候选特征中未在第一子数据集中,且重要性值最高的第一特征加入至第一子数据集中,并进行训练得到第一更新结果;在第一更新结果大于或等于第一结果的情况下,确定将第一特征加入至第一子数据集中;在第一更新结果小于第一结果的情况下,确定取消将第一特征加入至第一子数据集中,并将第一特征从候选特征中删除;以此类推,直至不存在候选特征,确定目标第二子数据集。
[0104]
为方便理解,本公开实施例中以候选特征包括:x1、x2、x3、x4、x5、x6,x1、x2、x3、x4、x5、x6的重要性值排序为:x1<x2<x3<x4<x5<x6,第一子数据集中包括:x1、x2、x3为例进行说明。
[0105]
可以理解的是,候选特征的数量可以很多,此处仅为了方便理解,列举了部分示例,重要性值的排序也仅作为示意。
[0106]
首先计算包括x1、x2、x3的第一子数据集的进行训练的第一结果,例如为a1;候选特征中未在第一子数据集中的有x4、x5、x6,其中重要性值最高的第一特征为x6,将x6加入至第一子数据集中,此时第一子数据集包括x1、x2、x3、x6,进行训练得到第一更新结果,例如为a2。
[0107]
其中,在a2大于或等于a1的情况下,确定将第一特征加入至第一子数据集中,确定第一子数据集包括x1、x2、x3、x6。此时候选特征中未在第一子数据集中的有x4、x5。
[0108]
在此情况下,继续计算包括x1、x2、x3、x6的第一子数据集的进行训练的第一结果,例如为a11,候选特征中未在第一子数据集中的有x4、x5,其中重要性值最高的第一特征为x5,将x5加入至第一子数据集中,此时第一子数据集包括x1、x2、x3、x6、x5,进行训练得到第一更新结果,例如为a22。
[0109]
其中,在a22大于或等于a11的情况下,确定将第一特征加入至第一子数据集中,确定第一子数据集包括x1、x2、x3、x5、x6。此时候选特征中未在第一子数据集中的有x4。
[0110]
在此情况下,继续计算包括x1、x2、x3、x5、x6的第一子数据集的进行训练的第一结果,例如为a111,候选特征中未在第一子数据集中的有x4,其中重要性值最高的第一特征为x4,将x4加入至第一子数据集中,此时第一子数据集包括x1、x2、x3、x6、x5、x4,进行训练得到第一更新结果,例如为a222。
[0111]
其中,在a222大于或等于a111的情况下,确定将第一特征加入至第一子数据集中,确定第一子数据集包括x1、x2、x3、x4、x5、x6。此时候选特征均在第一子数据集中,不存在候选特征。
[0112]
在此情况下,确定最后的第一子数据集为目标第一子数据集。
[0113]
相反的,在a2小于a1的情况下,确定取消将第一特征加入至第一子数据集中,此时,第一子数据集包括x1、x2、x3,并将第一特征从候选特征中删除,此时,候选特征中未在第一子数据集中的有x4、x5。
[0114]
可以理解的是,另外的情况可以以此类推,直至不存在候选特征,确定目标第一子数据集。
[0115]
请继续参见图3,在执行s40之后执行s50。
[0116]
s50:根据候选特征的重要性值,利用后向特征选择方法,确定第二子数据集进行特征选择后的目标第二子数据集。
[0117]
其中,候选特征的重要性值的计算可以参见上述相关描述,此处不再赘述。
[0118]
本公开实施例中,在确定候选特征的重要性值之后,可以根据候选特征的重要性值,利用后向特征选择方法,确定第二子数据集进行特征选择后的目标第二子数据集。
[0119]
在一些实施例中,s50包括:依次计算第二子数据集进行训练的第二结果;将第二子数据集中重要性值最低的第二特征,从第二子数据集中删除,并进行训练得到第二更新结果;响应于第二更新结果大于或等于第二结果,确定将第二特征从第二子数据集中删除;响应于第二更新结果小于第二结果,确定取消将第二特征从第二子数据集中删除,并忽略第二特征的重要性值;以此类推,直至第二子数据集中的所有候选特征均经过上述判断,确定目标第二子数据集。
[0120]
本公开实施例中,依次计算第二子数据集进行训练的第二结果;将第二子数据集中重要性值最低的第二特征,从第二子数据集中删除,并进行训练得到第二更新结果;在第二更新结果大于或等于第二结果的情况下,确定将第二特征从第二子数据集中删除;在第二更新结果小于第二结果的情况下,确定取消将第二特征从第二子数据集中删除,并忽略第二特征的重要性值;以此类推,直至第二子数据集中的所有候选特征均经过上述判断,确定目标第二子数据集。
[0121]
为方便理解,本公开实施例中以候选特征包括:x1、x2、x3、x4、x5、x6,x1、x2、x3、x4、x5、x6的重要性值排序为:x1<x2<x3<x4<x5<x6,第二子数据集中包括:x1、x2、x3、x4、x5、x6为例进行说明。
[0122]
可以理解的是,候选特征的数量可以很多,此处仅为了方便理解,列举了部分示例,重要性值的排序也仅作为示意。
[0123]
首先计算包括x1、x2、x3、x4、x5、x6的第二子数据集的进行训练的第二结果,例如为b1;将第二子数据集中重要性值最低的第二特征为x1,从第二子数据集中删除,此时第二子数据集包括x1、x2、x3、x4、x5、x6,并进行训练得到第二更新结果,例如为b2。
[0124]
其中,在b2大于或等于b1的情况下,确定将第二特征为x1从第二子数据集中删除;此时第二子数据集中包括x2、x3、x4、x5、x6,此时第二子数据集中重要性值最低的第二特征为x2。
[0125]
在此情况下,继续计算包括x2、x3、x4、x5、x6的第二子数据集的进行训练的第二结果,例如为b11,将第二子数据集中重要性值最低的第二特征为x2,从第二子数据集中删除,此时第二子数据集包括x3、x4、x5、x6,并进行训练得到第二更新结果,例如为b22。
[0126]
其中,在b22大于或等于b11的情况下,确定将第二特征为x2从第二子数据集中删除;此时第二子数据集中包括x3、x4、x5、x6,此时第二子数据集中重要性值最低的第二特征为x3。
[0127]
在此情况下,继续计算包括x3、x4、x5、x6的第二子数据集的进行训练的第二结果,例如为b111,将第二子数据集中重要性值最低的第二特征为x3,从第二子数据集中删除,此时第二子数据集包括x4、x5、x6,并进行训练得到第二更新结果,例如为b222。
[0128]
以此类推,直至不存在候选特征,确定目标第二子数据集。
[0129]
相反的,在b2小于b1的情况下,确定取消将第二特征为x1从第二子数据集中删除,
此时第二子数据集中包括x1、x2、x3、x4、x5、x6,并忽略第二特征的重要性值,此时第二子数据集中重要性值最低的第二特征为x2。
[0130]
在此情况下,继续计算包括x1、x2、x3、x4、x5、x6的第二子数据集的进行训练的第二结果,例如为b10,将第二子数据集中重要性值最低的第二特征为x2,从第二子数据集中删除,此时第二子数据集包括x1、x3、x4、x5、x6,并进行训练得到第二更新结果,例如为b20。
[0131]
其中,在b20小于b10的情况下,确定取消将第二特征为x2从第二子数据集中删除,此时第二子数据集中包括x1、x2、x3、x4、x5、x6,并忽略第二特征的重要性值,此时第二子数据集中重要性值最低的第二特征为x3。
[0132]
在此情况下,继续计算包括x1、x2、x3、x4、x5、x6的第二子数据集的进行训练的第二结果,例如为b100,将第二子数据集中重要性值最低的第二特征为x3,从第二子数据集中删除,此时第二子数据集包括x1、x2、x4、x5、x6,并进行训练得到第二更新结果,例如为b200。
[0133]
其中,在b200小于b100的情况下,确定取消将第二特征为x3从第二子数据集中删除,此时第二子数据集中包括x1、x2、x3、x4、x5、x6,并忽略第二特征的重要性值,此时第二子数据集中重要性值最低的第二特征为x4。
[0134]
以此类推,直至不存在候选特征,确定目标第二子数据集。
[0135]
请继续参见图3,在执行s50之后执行s60。
[0136]
s60:确定目标第一子数据集进行训练的第一训练结果,以及目标第二子数据集进行训练的第二训练结果。
[0137]
本公开实施例中,在确定目标第一子数据集和目标第二子数据集之后,可以分别确定目标第一子数据集进行训练的第一训练结果,以及目标第二子数据集进行训练的第二训练结果。
[0138]
s70:根据第一训练结果和第二训练结果,确定包括目标特征的目标数据集。
[0139]
本公开实施例中,在第一训练结果大于第二训练结果的情况下,确定目标第一子数据集为包括目标特征的目标数据集。
[0140]
本公开实施例中,在第二训练结果大于第一训练结果的情况下,确定目标第二子数据集为包括目标特征的目标数据集。
[0141]
通过实施本公开实施例,获取原始数据集,其中,原始数据集中包括用户的特征;对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征;根据候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定候选数据集中的第一子数据集和第二子数据集;根据候选特征的重要性值,利用前向特征选择方法,确定第一子数据集进行特征选择后的目标第一子数据集;根据候选特征的重要性值,利用后向特征选择方法,确定第二子数据集进行特征选择后的目标第二子数据集;确定目标第一子数据集进行训练的第一训练结果,以及目标第二子数据集进行训练的第二训练结果;根据第一训练结果和第二训练结果,确定包括目标特征的目标数据集。。由此,能够结合不同特征组合的不同表现,以及特征之间的相互影响,快速有效的选择特征,并且还可以使利用得到的目标数据集训练模型时,缩短训练时间减少内存。
[0142]
图6为本公开实施例提供的一种用户评级模型的训练方法的流程图。如图6所示,该特征选择方法包括但不限于如下步骤:
[0143]
s100:确定目标数据集中的目标特征。
[0144]
其中,目标数据集中的目标特征可以是通过采用上面一些实施例中的特征选择方法进行确定。
[0145]
本公开实施例中,确定目标数据集中的目标特征的详细描述可以参见上述实施例中的特征选择方法的描述,此处不再赘述。
[0146]
s200:根据目标数据集中的目标特征,对用户评级模型进行训练,得到训练好的用户评级模型。
[0147]
本公开实施例中,在确定目标数据集中的目标特征之后,可以根据目标数据集中的目标特征,对用户评级模型进行训练,得到训练好的用户评级模型。
[0148]
其中,所确定的目标数据集中的目标特征为结合不同特征组合的不同表现,以及特征之间的相互影响进行选择的。
[0149]
本公开实施例中,根据目标数据集中的目标特征,对用户评级模型进行训练,得到训练好的用户评级模型的方法,可以采用相关技术中的方法,此处不再赘述。
[0150]
通过实施本公开实施例,确定目标数据集中的目标特征,根据目标数据集中的目标特征,对用户评级模型进行训练,得到训练好的用户评级模型。由此,结合不同特征组合的不同表现,以及特征之间的相互影响选择目标数据集中的目标特征,利用得到的目标数据集训练用户评级模型时,能够缩短训练时间减少内存。
[0151]
图7为本公开示例性实施例提供的一种特征选择装置10的结构图。如图7所示,该特征选择装置10包括:数据获取单元11、第一处理单元12和第二处理单元13。
[0152]
数据获取单元11,用于获取原始数据集,其中,原始数据集中包括用户的特征。
[0153]
第一处理单元12,用于对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征。
[0154]
第二处理单元13,用于根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。
[0155]
如图8所示,在一些实施例中,第二处理单元13,包括:数据集确定模块131、第一特征选择模块132、第二特征选择模块133、训练结果获取模块134和数据集确定模块135。
[0156]
数据集确定模块131,用于根据候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定候选数据集中的第一子数据集和第二子数据集。
[0157]
第一特征选择模块132,用于根据候选特征的重要性值,利用前向特征选择方法,确定第一子数据集进行特征选择后的目标第一子数据集。
[0158]
第二特征选择模块133,用于根据候选特征的重要性值,利用后向特征选择方法,确定第二子数据集进行特征选择后的目标第二子数据集。
[0159]
训练结果获取模块134,用于确定目标第一子数据集进行训练的第一训练结果,以及目标第二子数据集进行训练的第二训练结果。
[0160]
数据集确定模块135,用于根据第一训练结果和第二训练结果,确定包括目标特征的目标数据集。
[0161]
在一些实施例中,第一特征选择模块132,具体用于:依次计算第一子数据集进行训练的第一结果;将候选特征中未在第一子数据集中,且重要性值最高的第一特征加入至第一子数据集中,并进行训练得到第一更新结果;响应于第一更新结果大于或等于第一结
果,确定将第一特征加入至第一子数据集中;响应于第一更新结果小于第一结果,确定取消将第一特征加入至第一子数据集中,并将第一特征从候选特征中删除;以此类推,直至不存在候选特征,确定目标第一子数据集。
[0162]
在一些实施例中,第二特征选择模块133,具体用于:依次计算第二子数据集进行训练的第二结果;将第二子数据集中重要性值最低的第二特征,从第二子数据集中删除,并进行训练得到第二更新结果;响应于第二更新结果大于或等于第二结果,确定将第二特征从第二子数据集中删除;响应于第二更新结果小于第二结果,确定取消将第二特征从第二子数据集中删除,并忽略第二特征的重要性值;以此类推,直至第二子数据集中的所有候选特征均经过上述判断,确定目标第二子数据集。
[0163]
如图9所示,在一些实施例中,该特征选择装置10,还包括:重要性计算单元14和重要性确定单元15。
[0164]
重要性计算单元14,用于将特征输入至特征重要性计算模型,得到特征对应的权重、增益和覆盖度。
[0165]
重要性确定单元15,用于根据特征对应的权重、增益和覆盖度,确定特征的重要性值。
[0166]
如图10所示,在一些实施例中,该特征选择装置10,还包括:相关系数计算单元16和相关系数确定单元17。
[0167]
相关系数计算单元16,用于将特征以及结果标签输入至相关性计算模型,得到特征对应的皮尔逊相关系数和斯皮尔曼相关系数。
[0168]
相关系数确定单元17,用于根据特征对应的皮尔逊相关系数和斯皮尔曼相关系数,确定特征与结果标签的相关系数。
[0169]
如图11所示,在一些实施例中,该特征选择装置10,还包括:预处理单元18。
[0170]
预处理单元18,用于对原始数据集中的特征进行预处理,以及随机下采样处理。
[0171]
请继续参见图11,在一些实施例中,该特征选择装置10,还包括:模型训练单元19。
[0172]
模型训练单元19,用于根据目标数据集中的目标特征,对用户评级模型进行训练,得到训练好的用户评级模型。
[0173]
本公开实施例提供的特征选择装置,可用于执行上述实施例中特征选择方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
[0174]
本公开实施例中,特征选择装置所取得的有益效果与上述特征选择方法所取得的有益效果相同,此处不再赘述。
[0175]
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,数据获取单元11可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上数据获取单元11的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻
辑电路或者软件形式的指令完成。
[0176]
图12为本公开实施例提供的电子设备100的结构示意图。如图12所示,该电子设备100可以包括:收发器121、处理器122、存储器123。
[0177]
处理器122执行存储器存储的计算机执行指令,使得处理器122执行上述实施例中的方案。处理器122可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0178]
存储器123通过系统总线与处理器122连接并完成相互间的通信,存储器123用于存储计算机程序指令。
[0179]
收发器121可以用于获取待运行任务和待运行任务的配置信息。
[0180]
系统总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory)。
[0181]
本公开实施例提供的电子设备,可以是执行上述特征选择方法的终端设备。
[0182]
本公开实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中特征选择方法的技术方案。
[0183]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例特征选择方法的技术方案。
[0184]
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中特征选择方法的技术方案。
[0185]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
[0186]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
技术特征:
1.一种特征选择方法,其特征在于,包括:获取原始数据集,其中,所述原始数据集中包括用户的特征;对所述原始数据集中的所述特征进行多因素方差分析,得到至少一个候选数据集;其中,所述候选数据集中包括至少一个候选特征;根据所述候选特征与结果标签的相关系数以及所述候选特征的重要性值,确定包括目标特征的目标数据集。2.根据权利要求1所述的方法,其特征在于,所述根据所述候选特征与结果标签的相关系数以及所述候选特征的重要性值,确定包括目标特征的目标数据集,包括:根据所述候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定所述候选数据集中的第一子数据集和第二子数据集;根据所述候选特征的重要性值,利用前向特征选择方法,确定所述第一子数据集进行特征选择后的目标第一子数据集;根据所述候选特征的重要性值,利用后向特征选择方法,确定所述第二子数据集进行特征选择后的目标第二子数据集;确定所述目标第一子数据集进行训练的第一训练结果,以及所述目标第二子数据集进行训练的第二训练结果;根据所述第一训练结果和所述第二训练结果,确定包括所述目标特征的所述目标数据集。3.根据权利要求2所述的方法,其特征在于,所述根据所述候选特征的重要性值,利用前向特征选择方法,确定所述第一子数据集进行特征选择后的目标第一子数据集,包括:依次计算所述第一子数据集进行训练的第一结果;将所述候选特征中未在所述第一子数据集中,且重要性值最高的第一特征加入至所述第一子数据集中,并进行训练得到第一更新结果;响应于所述第一更新结果大于或等于所述第一结果,确定将所述第一特征加入至所述第一子数据集中;响应于所述第一更新结果小于所述第一结果,确定取消将所述第一特征加入至所述第一子数据集中,并将所述第一特征从所述候选特征中删除;以此类推,直至不存在所述候选特征,确定所述目标第一子数据集。4.根据权利要求2所述的方法,其特征在于,所述根据所述候选特征的重要性值,利用后向特征选择方法,确定所述第二子数据集进行特征选择后的目标第二子数据集,包括:依次计算所述第二子数据集进行训练的第二结果;将所述第二子数据集中重要性值最低的第二特征,从所述第二子数据集中删除,并进行训练得到第二更新结果;响应于所述第二更新结果大于或等于所述第二结果,确定将所述第二特征从所述第二子数据集中删除;响应于所述第二更新结果小于所述第二结果,确定取消将所述第二特征从所述第二子数据集中删除,并忽略所述第二特征的重要性值;以此类推,直至所述第二子数据集中的所有所述候选特征均经过上述判断,确定所述目标第二子数据集。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:将所述特征输入至特征重要性计算模型,得到所述特征对应的权重、增益和覆盖度;根据所述特征对应的权重、增益和覆盖度,确定所述特征的重要性值。6.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:将所述特征以及结果标签输入至相关性计算模型,得到所述特征对应的皮尔逊相关系数和斯皮尔曼相关系数;根据所述特征对应的皮尔逊相关系数和斯皮尔曼相关系数,确定所述特征与所述结果标签的相关系数。7.如权利要求1至4中任一项所述的方法,其特征在于,在所述对所述原始数据集中的所述特征进行多因素方差分析之前,所述方法还包括:对所述原始数据集中的所述特征进行预处理,以及随机下采样处理。8.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:根据所述目标数据集中的所述目标特征,对用户评级模型进行训练,得到训练好的用户评级模型。9.一种特征选择装置,其特征在于,包括:数据获取单元,用于获取原始数据集,其中,所述原始数据集中包括用户的特征;第一处理单元,用于对所述原始数据集中的所述特征进行多因素方差分析,得到至少一个候选数据集;其中,所述候选数据集中包括至少一个候选特征;第二处理单元,用于根据所述候选特征与结果标签的相关系数以及所述候选特征的重要性值,确定包括目标特征的目标数据集。10.根据权利要求9所述的装置,其特征在于,所述第二处理单元,包括:数据集确定模块,用于根据所述候选特征与结果标签的相关系数,以及第一阈值和第二阈值,确定所述候选数据集中的第一子数据集和第二子数据集;第一特征选择模块,用于根据所述候选特征的重要性值,利用前向特征选择方法,确定所述第一子数据集进行特征选择后的目标第一子数据集;第二特征选择模块,用于根据所述候选特征的重要性值,利用后向特征选择方法,确定所述第二子数据集进行特征选择后的目标第二子数据集;训练结果获取模块,用于确定所述目标第一子数据集进行训练的第一训练结果,以及所述目标第二子数据集进行训练的第二训练结果;数据集确定模块,用于根据所述第一训练结果和所述第二训练结果,确定包括所述目标特征的所述目标数据集。11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至8中任一项所述的方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8中任一项所述的方法。13.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行
时实现权利要求1至8中任一项所述的方法。
技术总结
本公开提供一种特征选择方法、装置、电子设备及存储介质,可以应用于人工智能和大数据技术领域。其中,方法包括:获取原始数据集,其中,原始数据集中包括用户的特征;对原始数据集中的特征进行多因素方差分析,得到至少一个候选数据集;其中,候选数据集中包括至少一个候选特征;根据候选特征与结果标签的相关系数以及候选特征的重要性值,确定包括目标特征的目标数据集。由此,能够结合不同特征组合的不同表现,以及特征之间的相互影响,快速有效的选择特征,并且还可以使利用得到的目标数据集训练模型时,缩短训练时间减少内存。缩短训练时间减少内存。缩短训练时间减少内存。
技术研发人员:苏培煌 庄跃生 黄二明
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.02.27
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/