CN111046912A - 特征衍生方法、装置及计算机设备 - Google Patents
特征衍生方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN111046912A CN111046912A CN201911108450.1A CN201911108450A CN111046912A CN 111046912 A CN111046912 A CN 111046912A CN 201911108450 A CN201911108450 A CN 201911108450A CN 111046912 A CN111046912 A CN 111046912A
- Authority
- CN
- China
- Prior art keywords
- feature
- features
- combination
- derivation
- characteristic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供一种特征衍生方法、装置及计算机设备。从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;根据所述特征集合进行特征衍生,以得到衍生特征。通过这种方式衍生得到的特征具有更好的可解释性且更加有效。
Description
技术领域
本说明书涉及人工智能技术领域,尤其涉及一种特征衍生方法、装置及计算机设备。
背景技术
机器学习已广泛用于各个领域,针对某个业务场景构建机器学习模型,一般包括以下过程:数据分析、特征提取和筛选、模型训练和验证、模型应用。在提取特征时,为了得到更多有效的特征,提升模型的效果,通常会采用一些特定的算法(比如加减乘除,笛卡尔积、one-hot编码等)对原始数据中已有的一些原始特征进行计算,衍生出一些新的特征,这个过程为特征衍生过程。比如,原始数据中包括收入和支出,因而可以根据收入和支出计算得到一个收入支出比,这样便得到一个新的特征。
由于特征的有效性对模型的预测效果有很大影响,因而有必要对特征衍生方法加以改进,以便可以自动地从原始数据中提取出一些比较符合业务场景且可解释的有效特征。
发明内容
基于此,本说明书提供了一种特征衍生方法、装置及计算机设备。
根据本说明书实施例的第一方面,提供一种特征衍生方法,所述方法包括:
从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;
根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;
根据所述特征集合进行特征衍生,以得到衍生特征。
根据本说明书实施例的第二方面,提供一种特征衍生装置,所述装置包括:
提取模块,用于从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;
特征集合生成模块,用于根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;
特征衍生模块,用于根据所述特征集合进行特征衍生,以得到衍生特征。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。
应用本说明书实施例方案,在特征衍生时,可以先用原始数据训练得到决策树模型,然后从决策树模型的至少一条路径上提取若干个节点对应的特征,并根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合,根据所述特征集合进行特征衍生,以得到衍生特征。由于每个特征集合中的元素对应的都是决策树一条路径上的节点对应的特征,而决策树上的每条判决路径上的特征组合都是效果较佳的组合,因而根据决策树模型的判决路径上的特征去构建特征集合,然后根据特征集合去衍生新的特征,具有更好的可解释性,衍生得到的新特征具有更好的效果。且相比于特征的随机组合,本说明书实施例在进行特征组合时的搜索空间也更小,即组合方式大大减小。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是本说明书一个实施例的一种特征衍生方法流程图。
图2是本说明书一个实施例的一种决策树模型的示意图。
图3是本说明书一个实施例的一种决策树模型的判决路径示意图。
图4是本说明书一个实施例的一种特征衍生方法流程图。
图5是本说明书一个实施例的一种特征衍生装置的逻辑结构框图。
图6是本说明书一个实施例的用于实施本说明书方法的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
机器学习已广泛用于各个领域,比如可以基于用户历史的交易数据,针对用户交易风险构建一个交易风险评估模型,以评估每笔交易的风险。针对某个业务场景构建机器学习模型,一般包括以下过程:数据分析、特征提取和筛选、模型训练和验证、模型应用。在提取特征时,为了得到更多有效的特征,提升模型的效果,通常会采用一些特定的算法(比如加减乘除,笛卡尔积、one-hot编码等)对原始数据中已有的一些原始特征进行计算,衍生出一些新的特征,这个过程为特征衍生过程。比如,原始数据中包括收入和支出,因而可以根据收入和支出计算得到一个收入支出比,这样便衍生得到一个新的特征。
目前,在进行特征衍生时,为了可以自动地衍生出更多的特征,常用的方法有暴力衍生法、DSM(Data Science Machine)方法、OneBM(One Button Machine)方法、ExploreKit方法等。暴力衍生方法是通过一些特定特征组合的算子(如加减乘除、笛卡尔积扩展等),对原始数据已有的特征进行两两组合,衍生出尽可能多的新特征。这种方法生成的特征有较强的相关性,很多特征生成即没有多少实际效果且缺乏解释性,并且导致特征数量过多。举个例子,我们知道收入和支出,可以用收入除以支出,得到一个新特征收入支出比,这个新特征相对于应用场景是有意义的,可解释的。但是如用收入乘以支出,那得到的特征就没有实际意义,不可解释。
DSM方法主要通过原始数据中的已有的日期格式、字符串型、数值类型等常见特征进行自动组合,生成新特征,这种方法特征组合方式限定于特征之间的依赖关系,使得特征之间具有大量的相关性,具有很高的冗余度,增加了后续的特征搜索和筛选的复杂度。
OneBM方法是将多种存在主键关联的特征以关系树方式表示,从第0层开始每层代表一张数据表,且数据表之间存在主外键关联。因此根节点的特征可以由从叶子节点起的特征不断组合计算。OneBM方法筛选出来的特征也缺乏可解释性,无法保证在模型中具有较好的表现。
ExploreKit方法主要的系统框架分为两部分:一部分是候选特征评估框架,一部分是特征生成框架。候选特征评估框架是一个候选特征的元特征分类模型,用来评估在每次特征生成过程中元特征对模型最终效果的影响。候选特征中的元特征需要预先设定。候选特征的元特征分类模型训练需要选择一部分候选特征相应的元特征,将候选特征加入后对于最终模型误差的降低程度低于给定阈值部分的候选特征的元特征进行打标,通过有监督方式加以训练,但是这种方法特征的衍生方式较为简单,仅限于特征的进一步统计加工和基本组合,特征衍生的多样性不足,且计算开销大。
由此可见,相关的特征衍生方法要么衍生得到的特征的不具有可解释性,没有针对实际应用场景去衍生出更多有效的,且在模型中有较好表现的特征,要么特征组合的搜索空间较大,使得计算开销较大。
为了使衍生得到的特征更具可解释性,可以针对实际应用场景去衍生出更多有效地特征,且减小特征组合时的搜索空间,本说明书实施例提供一种特征衍生方法,如图1所示,所述方法可包括以下步骤:
S102、从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;
S104、根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;
S106、根据所述特征集合进行特征衍生,以得到衍生特征。
为了便于理解本方案,以下对决策树模型做一个简单介绍。决策树是一种常见的机器学习方法,在分类、预测等场景中有着较广泛的应用。决策树是一种树形结构,每一个叶子节点代表一种分类结果,其他节点则代表样本的一种划分属性,也就是特征。如图2所示,为一个决策树模型,该决策树模型用于判断一个客户是优质客户、普通客户还是较差客户。其中,划分属性可以是客户的年龄、学历、月收入、月支出、所在城市等,这些属性可以作为决策树模型训练时输入的特征。决策树的叶子节点分别代表客户分类的结果,比如为优质客户、普通客户还是较差客户。根节点和中间节点则分别表示一个特征,以及特征对应的特征阈值。比如特征为年龄,其特征阈值为30。
在训练决策树模型时,可以使用原始数据进行训练,其中原始数据包括相应的特征以及特征对应的标签,比如一个客户的年龄为30,月收入15000、学历为硕士,该用户的标签为优质客户,或者是客户年龄25,月收入3000,学历大专,该客户为较差客户等等。通过大量原始数据可以训练得到决策树模型。
决策树模型的训练过程,即是确定树结构的各个节点以及节点对应的阈值的过程。比如,根节点应该取收入、年龄、还是学历,如果根节点取收入,那么划分值该取大于10000,还是大于15000。一般而言,在划分过程中,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即节点的纯度越来越高,通常会使用信息熵和信息增益来度量样本集合的纯度,信息熵和信息增益可以通过样本集合中各类样本所占比例来计算,比如月收入为10000以上的客户中是优质客户的占比在确定各节点时可以分别计算以各特征作为节点进行划分时的信息增益,选取信息增益最大的特征作为节点。比如在确定根节点时,分别计算样本集合中月收入、学历、年龄为不同阈值时的信息增益,比如月收入高于10000的信息增益最大,则将月收入高于10000作为根节点。
在模型训练过程中,可以根据模型构建的参数要求取选取决策树模型的类型,对于样本及较少的情况,可以选用CART(Classification And Regression Trees)树模型,对于变量和样本足够的情况下,可以选用GBDT(Gradient Boosting Decision Tree,)模型,Random Forest(随机森林)模型,XGBT(Xtreme Gradient Boosting)模型等。由于GBDT和XGBT模型在特征选择、特征表达以及最终的建模效果上,相较Random Forest模型更优,因而优先考虑GBDT和XGBT模型。
在某些实施例中,获取原始数据后,可以根据业务需求,进行初始的人工特征设计,进行特征的扩展。可以根据经验对原始数据中的原始特征进行组合,得到一个或多个目标特征,然后再将原始特征、目标特征以及标签输入到决策树模型,对决策树模型进行训练。例如原始数据已经包含特征包括:年龄、ip、地址、金额、事件、lbs等基础信息,这些特征可以分为连续性,离散型,类别型特征。有些特征可以直接作为训练模型的输入特征,有些需要进行一定的预处理或者经过人工经验对特征进行组合,得到其他的比较有效的目标特征,比如业务判断需要提取的一些特征,例如,可以聚合地址上的收获次数,地址的个数等等,得到一些新的特征作为训练决策树模型时的输入。
此外,本说明书实施例中在训练决策树模型时,可以训练一个或多个树模型,同时从这多个树模型的各个路径去提取特征构建特征集合。当然训练得到的决策树模型深度越大,路径上的节点越多,得到的特征集合中的元素也越多,最后衍生特征时,也有更多的组合方式,得到更多新的特征。当然,为了控制后续特征衍生时组合的范围,在训练模型时,可以限定树模型的深度和树的个数等超参数,从而减少后续衍生特征时特征组合的搜索空间。
由于决策树的每一条路径的判决过程,可以表示在当前特征和特征阈值下可以达到的最佳效果的划分方法,而其路径上用到的多个特征及其对应的特征阈值,即为模型训练后选择的最佳判决组合方式。因此在训练得到决策树模型后,可以从决策树模型的一条或多条路径中提取若干个特征,根据各条路径上提取的特征生成特征集合,其中,不同路径上的特征对应不同的特征集合,得到特征集合后,可以根据特征集合去衍生得到新的特征,比如,可以将特征集合中的各个元素进行一定的运算,得到一些新特征。当然,特征集合的各元素可以是特征,也可以是特征以及特征对应的阈值。
如图3所示,为一个决策树模型判决路径示意图,可以选择决策树中的一条路径,提取该路径上的各节点对应的特征,构成一个特征集合。比如框线中选取的这条路径,其各节点对应的特征分别为F1、F2、F4,然后可以根据这些特征去构建特征集合。当然,在构建特征集合时,可以遍历决策树上的各条路径,把每条路径的节点对应的特征提取出来,用一条路径上的所有特征节点构建一个特征集合,当然,在某些实施例中,也可以只选取其中一部分路径,比如选取节点个数为3的路径,或者节点个数为4的路径,然后提取该路径的所有节点对应的特征构建特征集合。在某些实施例中,也可以是提取一条路径中的一部分节点对应的特征构建特征集合,比如只提取每条路径上的前3个或者前4个节点对应的特征。当然,特征集合具体的构建方式可以根据实际需求设置,本说明书实施例不做限制。
由于决策树上的每条判决路径,实际都是模拟人在判决时的思维过程,且这些判决组合都是效果较佳的组合,因而根据决策树模型的判决路径上的特征去构建特征集合,然后根据特征集合去衍生新的特征,具有更好的可解释性,且相比于随机组合,组合时的搜索空间也更小,即组合方式大大减小,且衍生得到的衍生特征有效性也大大提升。
在某些实施例中,特征集合中的每个元素可以是决策树一条路径上的一个节点对应的特征,如图2所示的决策树,其中一条路径上的节点对应的特征分别为月收入、年龄、学历,因而构建的特征集合可以是{月收入、年龄、学历}。然后再根据这些特征去进行组合,衍生新的特征。这种情况在衍生新的特征时只考虑特征本身,没有考虑特征阈值。当然,在某些实施例中,特征集合中的各个元素也可以包括一个节点对应的特征以及该特征对应的阈值。比如一条路径上的节点对应的特征别为月收入、年龄、学历,各特征对应的特征阈值分别为10000、30、硕士。因而构建的特征集合可以是{(月收入,10000)、(年龄,30)、(学历,硕士)}。这种情况,在进行特征衍生时,考虑了特征阈值。
由于训练得到的决策树模型可能包含多个,不同的决策树模型结构有相似性,很多路径可能基本一致,而且同一个决策树模型中,有些路径中包含的特征也存在重叠,因而使得最后构建的特征集合中的元素存在重叠,通过特征集合中的元素进行特征衍生时得到的衍生特征也会存在重叠,使得最后获得的衍生特征存在大量的冗余。举个例子,如果特征集合中的各个元素只取节点对应的特征,那么不同路径上节点对应的特征可能一样,只是特征阈值不同,那么最后得到的特征集合中的元素是一样的。为了减少后续特征衍生时的冗余,提升特征集合中的元素组合的挖掘效率,因而在根据特征集合中的各元素衍生新特征之前,可以先对元素相同的特征集合进行合并处理。
在某些实施例中,针对特征集合中的各个元素包括一个节点对应的特征以及该特征对应的特征阈值的情况。那么可能存在很多路径,各节点对应的特征一样,只是特征阈值不同,例如特征集合和特征集合路径上的特征都是f0和f1,只是特征阈值不同。由于特征阈值不同,因而特征集合的元素不同,所以没办法合并。为了进一步去除冗余,再将元素相同的特征集合进行合并之前,可以先对各特征的特征阈值进行离散化处理,再对特征集合进行合并,通过这种方式可以将元素中特征相同,特征阈值接近的特征集合也合并。举个例子,特征集合1为{(月收入,10000)、(月收入,5000)},特征集合2为{(月收入,11000)、(月收入,6000)},两个特征集合的特征相同,只是特征阈值相差不大,实际对模型的分类结果可能影响很小,因而可以对特征阈值进行离散化处理后再合并。
在某些实施例中,如果特征阈值为数值,则对特征阈值进行离散化处理时,可以先将每个特征的取值范围划分成多个区间,每个区间对应一个量化值,然后判断各元素中的特征阈值与哪个区间最接近,用最接近的那个区间的量化值更新该元素的特征阈值,然后将特征阈值更新后的元素相同的特征集合合并。举个例子,特征集合1为{(月收入,10000)、(月收入,5000)},特征集合2为{(月收入,11000)、(月收入,6000)},针对月收入这个特征,可以根据其取值范围划分成若干个区域,假设月收入都在0-20000之间,可以以5000为一个等级进行划分,分成4个区间,每个区间对应的量化值分别为5000、10000、15000、20000,因此,特征集合1中各元素的特征阈值更新后为{(月收入,10000)、(月收入,5000)},特征集合2中各元素的特征阈值更新后也是{(月收入,10000)、(月收入,5000)}。更新后的两个特征集合元素相同,因此可以合并成一个特征集合。当然如果特种阈值为类别,比如对于性别这一特征,其特征阈值为“男”或者“女”,这种情况可以直接保留原始类别。但是对于类别数较多的特征,可以根据业务含义等,对特征阈值进行合并,避免类别型特征区间数过多。通过对特征集合进行合并处理,可以将一些特征类别相近,且特征阈值相近的元素进行合并,减小特征集合的数量,后期根据特征集合进行特征衍生时,可以减少一些重复的组合情况,减少冗余,提高特征衍生的效率。
在对特征集合中进行合并处理后,可以减小特征集合中元素的相似性。但是特征集合中不同元素之间形成的组合,有些组合出现次数比较多,说明这些组合对模型的分类结果或者预测结果影响比较大,比较重要,有些组合出现次数比较少,说明这些组合对模型的分类结果或者预测结果影响比较小,不太重要,因此,为了进一步减小衍生特征的规模,尽量衍生一些比较有效的特征,在某些实施例中,在进行特征衍生之前,还可以从特征集合中挖掘出一些频繁出现的元素组合,利用这些组合中的元素去衍生出新的特征,尽可能保留重要的特征组合方式,去掉一些不重要的特征组合方式。可以先确定特征集合中不同元素组合后得到的组合的频次,然后根据频次选出一些目标组合,利用目标组合中的各元素去组合得到衍生特征。举个例子,特征集合包括{A,B,C,D},{A,B,C,E}、{A,B,E,F},可以去对各特征集合中的元素进行组合,比如第一个特征集合的元素组合方式有(A,B)、(A,C)、(A,D)、(B,C)、(B,D)(A,B、C)、(B、C、D),(A、B、C、D)。同理第二个特征集合中的元素组合方式也可以统计出现出来,然后可以统计这些特征集合中各组合出现的频次,比如,组合(A,B)出现的频次很高,说明这种组合方式比较重要,因而可以筛选出现作为目标组合,而组合(E、F)出现的频次很低,说明这种组合方式不太重要,因而可以舍弃。
由于对于单个特征,没有组合的意义,对于元素个数较多的组合,在进行特征衍生时其组合方式过多,导致特征衍生维度空间太高,因而也尽量舍弃。所以,在某些实施例中,在确定目标组合时,可以将元素个数符合第一预设条件且出现频次符合第二预设条件的组合筛选出来,作为目标组合。比如把元素个数为3个,出现频次高于4次的组合筛选出来,作为目标组合。在某些实施例中,若所述组合中的各个元素为一个节点对应的特征,则所述组合中元素个数大于1,小于3;若所述组合中的各个元素包括一个节点对应的特征以及所述特征对应的特征阈值,则所述组合中元素个数大于1,小于4。当然,组合中的元素个数可以根据实际需求去设置,以上仅是示例性例子。在某些实施例中,可以将频次大于预设次数的组合筛选出来作为目标组合。比如频次大于3次的组合或者大于5次的组合,具体数值可以灵活设置。当然,为了尽量避免在进行特征衍生时,组合方式过多,在某些实施例中,还可以舍弃一些元素个数较多且频次较少的组合。举个例子,可以对各组合的出现频次进行排序,将频次排序位于末尾20%的元素个数大于3的组合舍弃。
在某些实施例中,针对特征集合的每个元素包括一个节点对应的特征以及该特征对应的特征阈值的情况,在对特征集合的元素进行合并处理后,可以先将特征集合转换为新特征集合,其中新特征集合的元素今仅包含节点对应的特征,然后再从新特征集合去提取频繁项,确定目标组合。目标组合中的各元素也仅包括特征,不考虑特征阈值。举个例子,在对特征集合的元素进行合并后,特征集合为{(月收入,10000),(月收入,5000),(年龄,30),(学历,硕士)},可以将元素中的特征阈值去掉,转换成新特征集合{月收入,年龄,学历},然后再从新特征集合中筛选出目标组合。当然还可以同时从携带特种阈值的集合中提取目标组合,得到携带特征阈值和不带特征阈值的两种特征组合,这样在利用目标组合进行特征衍生时,既考虑了特征不携带特征阈值进行组合的情况,也考虑了特征携带特征阈值进行组合的情况。
在得到目标组合后,可以先确定目标组合中元素的类型,根据目标组合的中元素的类型选则相应的算法,对目标组合中的元素进行组合,得到衍生特征。其中,元素的类型包括元素是否包括特征阈值,元素中的特征是类别型的还是数值型的,然后根据元素的类型选取合适的组合算法,对元素进行组合,得到新的特征。组合算法可以是求两个元素之间的笛卡尔积,两个元素加减乘除,两个元素重新组合等。
举个例子,对于不包括特征阈值的目标组合,可以通过以下方式进行特征衍生:
a)对于目标组合中的元素为类别型的特征:可以对特征进行笛卡尔积,然后进行one-hot编码。例如{性别,城市}的组合,可以做笛卡尔积后,对所有结果情况进行one-hot编码,生成新的变量。
b)对于目标组合中的元素为类别型的特征和数值型特征:根据类别特征分类数,衍生出新的数值特征。例如{性别,收入},衍生出变量{男性收入,女性收入}两个新的变量。
c)对于目标组合中的元素为数值型特征:对数值特征进行算子处理,如基本的加减乘除。
(2).针对包括特征阈值的目标组合:
a)对于目标组合中的元素包括的特征为类别型特征:根据特征及其特征阈值,进行笛卡尔积,然后进行one-hot编码。例如{(性别,男性),(城市,杭州)},则衍生出新的变量{男性且城市为杭州},做{0-1}二值化处理。
b)对于目标组合中的元素包括的特征为类别型特征类别特征和数值型特征:根据类别特征及其特征阈值,衍生出新的数值特征。例如{(性别,男性),(收入,5000)},衍生出变量{男性且收入大于等于5000},做{0-1}二值化处理。
c)对于目标组合中的元素包括的特征为数值型特征:对带阈值的数值特征,进行one-hot编码。例如{(年龄,50),(收入,5000)},衍生出变量{年龄50交叉收入5000},做one-hot编码处理。
为了进一步解释本说明书实施例提供的特征衍生方法,以下再以一个具体的实施例加以解释。
假设在一个业务场景中,给定已知原始数据集为了构建机器学习模型,首先针对原始数据集Dori进行特征衍生,获得新的特征数据集Dder,然后根据新的衍生特征数据集Dder进行特征选择和模型构建。本文提出的特征衍生方法,如图4所示,主要通过以下步骤:(1)人工特征设计(2)决策树模型训练(3)生成特征集合(4)特征集合的合并(5)频繁组合挖掘(6)特征衍生,以下详细介绍每一步骤的具体实现细节。
(1)人工特征设计(S402)
给定原始数据集的情况下,可以根据业务需求,进行初始的人工特征设计,进行特征的扩展。例如原始数据已经包含的特征如:年龄、ip、地址、金额、事件、lbs等,这些特征可以分为连续性,离散型,类别型。有些特征可以直接作为训练模型的输入特征,有些需要进行一定的预处理或者经过人工经验加工特征,比如聚合地址上的收获次数,地址的个数等等。
部分人工经验强依赖的特征,且业务判断必须提取的,可以经过处理后,作为方案后续特征衍生的输入。通过原始数据经过一定预处理和人工设计加工后,获得了决策树模型的训练时的输入特征。
(2)决策树模型训练(S404)
可以将原始数据中的原始特征,以及经过人工设计得到的特征作为模型的输入,对应的标签作为输出,进行训练,得到训练好的决策树模型。根据模型构建的参数要求,对于样本及较少的情况,训练CART树模型,对于变量和样本足够的情况下,可以训练集成树模型。可选模型有GBDT,Random Forest模型,XGBT模型等。本实施例中推荐决策时树模型选用GBDT或者XGBT模型,从特征选择和表达方面,以及最终的建模效果上,相较Random Forest模型更优。
为了控制后续特征组合的范围,在训练模型时,可以限定树模型的深度和树的个数等超参数,从而减少后续特征组合的搜索空间。通过该步骤,训练得到决策树模型Mtree及模型参数Θ。
(3)生成特征集合(S406)
在训练得到决策树模型后,可以遍历决策树模型中的每一条路径,将路径上各节点对应的特征提取出来,根据各节点对应的特征生成特征集合,其中特征集合的每个元素包括一个节点对应的特征以及该特征对应的特征阈值。特征集合其中k为特征集合的个数,fi表示第i个特征,表示第i个特征的第j个特征阈值,因为一个特征可能对应多个特征阈值,j表示特征阈值属于哪一个。如图3中所示的框线中的路径,该路径上的节点对应的特征为F1、F2、F4,对应的特征阈值分别为T11,T21,T41,则特征集合为{(F1,T11),(F2,T21),(F4,T41)}。
具体算法如下:
输入:预训练完成的决策树模型Mtree及模型参数Θ
步骤:
2.循环遍历树模型Mtree中的第n棵决策树Mn:
a)利用二叉树的路径遍历算法,遍历决策树Mn中的所有非叶子节点路径:
ii.将sk插入特征集合S。
iii.继续步骤i,直到遍历Mn中所有非叶子节点的路径。
b)循环遍历Mtree中所有的决策树路径。
(4)特征集合的合并(S408)
由于决策树模型中的不同的树模型结构有相似性,以及决策树路径中的特征组合有重叠,使得获得的特征组合方式有大量的冗余。为了减少后续特征组合的冗余,提升特征组合的挖掘效率,对候选集做初步的组合筛选和合并。
由树模型生成原理可知,决策路径上特征的组合相似在于,特征的类型相似,但特征的阈值不同。例如和 主要决策路径上的特征都是f0和f1,只是特征的特征阈值不同。因此,通过对特征阈值进行离散化,可以合并特征阈值相近的特征集合。
具体算法如下:
步骤:
a)对于连续特征,使用等频/等宽方法,离散化为若干区间,一般可以选10个区间。离散化后,可以进行一定的人工/算法自动的特征分箱区间合并。
b)对于类别型特征,直接保留原始类别。对于类别数较多的,可以根据业务含义等,进行类别合并,避免类别型变量区间数过多。
3.循环遍历Sinit中的每一个特征集合,对特征集合中特征阈值进行离散化处理:
a)集合Sinit中选出元素sk,对sk中的所有特征阈值根据Fdiscrete进行离散化:
-遍历sk中的所有特征阈值对,进行离散化更新,得到。
ii.将离散化更新后的sk插入到Sdiscrete中,并在Sinit中删除sk
iii.继续步骤i,直到遍历Mn中所有非叶子节点的路径。
b)遍历Sinit中所有的特征组合元素,进行a)中的离散化操作。
输出Sdiscrete
(5)频繁组合挖掘(S4010)
通过离散化筛选后的特征集合,减少了相似的组合,但特征集合中的组合,有些经常出现(组合比较有效),有些较少出现(组合在树模型中的出现次数不多,重要性不多)。通过对特征集合进行频繁组合挖掘,进一步筛选出高频的组合,过滤低频的组合,挖掘出重要的特征组合方式。
在通过离散化得到的特征集合,是带有特征阈值的特征集合。为了控制后续特征衍生的规模,在挖掘频繁组合时进行组合元素个数的限制。
具体算法如下:
步骤:
1.根据Sdiscrete,去除特征集合中的特征阈值,只保留特征,得到无阈值的特征集合Snew={sk|{fi...,fj}}
3.对带阈值的特征集合Sdiscrete进行频繁组合挖掘:
a)利用频繁组合挖掘算法,挖掘特征集合中的频繁组合,并做如下处理:
i.仅挖掘C2,C3,C4的组合(C表示组合中元素的个数,C2为组合中元素个数有2个),即只挖掘组合中元素个数在2~4之间的项集:
-C1的组合,即单个特征,没有组合的意义,舍弃
-C5及以上,组合元素个数过多,后续特征衍生维度空间太高,舍弃。
ii.频繁组合挖掘后,对低频组合舍弃(出现频次小于等于1的直接舍弃)。
iii.对频次排序后,在尾部20%的C4舍弃,减少高维组合。
4.对无阈值的特征集合Snew进行频繁组合挖掘:
a)利用频繁组合挖掘算法,挖掘特征集合中的频繁组合,并做如下处理:
i.仅挖掘C2,C3的项集,即只挖掘元素个数在2~3之间的组合
ii.频繁组合挖掘后,对低频组合舍弃(出现频次小于等于1的直接舍弃)。
iii.对频次排序后,在尾部20%的C3舍弃,减少高维组合。
b)得到挖掘后的频繁组合Sfea={sk|{fi...,fj}}
(6)特征衍生(S4012)
获得的频繁组合后,对组合中的元素进行特征衍生,获得衍生变量。给定一个组合后,选择不同的衍生方法,可以获得不同的衍生变量。主要的衍生方法如下(建议但不仅限于):
(1).针对无阈值的频繁组合:
a)对于频繁组合中的元素为类别型的特征:可以对特征进行笛卡尔积,然后进行one-hot编码。例如{性别,城市}的组合,可以做笛卡尔积后,对所有结果情况进行one-hot编码,生成新的变量。
b)对于频繁组合中的元素为类别型的特征和数值型特征:根据类别特征分类数,衍生出新的数值特征。例如{性别,收入},衍生出变量{男性收入,女性收入}两个新的变量。
c)对于频繁组合中的元素为数值型特征:对数值特征进行算子处理,如基本的加减乘除。
(2).针对包括特征阈值的频繁组合:
a)对于频繁组合中的元素包括的特征为类别型特征:根据特征及其特征阈值,进行笛卡尔积,然后进行one-hot编码。例如{(性别,男性),(城市,杭州)},则衍生出新的变量{男性且城市为杭州},做{0-1}二值化处理。
b)对于频繁组合中的元素包括的特征为类别型特征类别特征和数值型特征:根据类别特征及其特征阈值,衍生出新的数值特征。例如{(性别,男性),(收入,5000)},衍生出变量{男性且收入大于等于5000},做{0-1}二值化处理。
c)对于频繁组合中的元素包括的特征为数值型特征:对带阈值的数值特征,进行one-hot编码。例如{(年龄,50),(收入,5000)},衍生出变量{年龄50交叉收入5000},做one-hot编码处理。
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
如图5所示,是本说明书一个实施例的一种特征衍生装置,所述装置50可包括:
提取模块52,用于从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;
特征集合生成模块54,用于根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;
特征衍生模块56,用于根据所述特征集合进行特征衍生,以得到衍生特征。
在某些实施例中,所述特征集合中的各个元素分别为一个节点对应的特征;或
所述特征集合中的各个元素均包括一个节点对应的特征以及所述特征对应的特征阈值。
在某些实施例中,所速装置用于基于所述特征集合进行特征衍生,以得到衍生特征之前,还用于:
对元素相同的特征集合进行合并。
在某些实施例中,若所述特征集合的各个元素均包括一个节点对应的特征以及所述特征对应的特征阈值,对元素相同的特征集合进行合并之前,所述装置还用于:
对所述特征阈值进行离散化处理。
在某些实施例中,所述装置用于对所述特征阈值进行离散化处理,包括:将所述节点对应的特征的取值范围划分成若干个区间,每个区间对应一个量化值;
确定所述特征阈值最接近的区间,并用所述最接近的区间对应的量化值更新所述特征阈值。
在某些实施例中,所述装置用于基于所述特征集合进行特征衍生,以得到衍生特征,具体包括:
根据所述特征集合中不同元素构成的组合出现的频次提取目标组合;
根据所述目标组合中的各元素进行特征衍生,以得到衍生特征。
在某些实施例中,若所述特征集合的每个元素为一个节点对应的特征以及所述特征对应的特征阈值,则所述装置用于根据所述特征集合中不同元素构成的组合出现的频次提取目标组合之前,还用于:
将所述特征集合转换为新特征集合,所述新特征集合中的各元素仅包括节点对应的特征。
在某些实施例中,所述装置用于根据所述特征集合中不同元素构成的组合出现的频次提取目标组合,具体包括:
将元素个数满足第一预设条件以及所述频次满足第二预设条件的组合作为所述目标组合。
在某些实施例中,所述第一预设条件包括:
若所述组合中的各个元素为一个节点对应的特征,则所述组合中元素个数大于1,小于3;或
若所述组合中的各个元素包括一个节点对应的特征以及所述特征对应的特征阈值,则所述组合中元素个数大于1,小于4。
在某些实施例中,所述第二预设条件包括:
所述组合出现的频次大于预设阈值。
在某些实施例中,所述装置用于根据所述目标组合中的各元素进行特征衍生,以得到衍生特征,具体包括:
确定所述目标组合的元素的类型;
根据所述元素的类型对所述目标组合中的元素进行衍生,以得到衍生特征。
在某些实施例中,所述装置还用于:
对原始特征进行组合,得到一个或多个目标特征;
根据所述原始特征、目标特征以及所述原始特征的标签训练所述决策树模型。
上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书装置的实施例可以应用在计算机设备上,例如服务器或智能终端。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书装置所在计算机设备的一种硬件结构图,除了图6所示的处理器602、内存604、网络接口606、以及非易失性存储器608之外,实施例中装置所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。所述非易失性存储器608上存储有所述处理器602可执行的计算机指令,所述处理器602执行所述计算机指令是可实现本说明书实施例任一项特征衍生方法。
相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。
本说明书实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本领域技术人员在考虑说明书及实践这里公开的说明书后,将容易想到本说明书实施例的其它实施方案。本说明书实施例旨在涵盖本说明书实施例的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书实施例的一般性原理并包括本说明书实施例未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书实施例的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书实施例的范围仅由所附的权利要求来限制。
以上所述仅为本说明书实施例的较佳实施例而已,并不用以限制本说明书实施例,凡在本说明书实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书实施例保护的范围之内。
Claims (14)
1.一种特征衍生方法,所述方法包括:
从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;
根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;
根据所述特征集合进行特征衍生,以得到衍生特征。
2.根据权利要求1所述的特征衍生方法,所述特征集合中的各个元素分别为一个节点对应的特征;或
所述特征集合中的各个元素均包括一个节点对应的特征以及所述特征对应的特征阈值。
3.根据权利要求2所述的特征衍生方法,基于所述特征集合进行特征衍生,以得到衍生特征之前,还包括:
对元素相同的特征集合进行合并。
4.根据权利要求3所述的特征衍生方法,若所述特征集合的各个元素均包括一个节点对应的特征以及所述特征对应的特征阈值,对元素相同的特征集合进行合并之前,还包括:
对所述特征阈值进行离散化处理。
5.根据权利要求4所述的特征衍生方法,对所述特征阈值进行离散化处理,包括:
将所述节点对应的特征的取值范围划分成若干个区间,每个区间对应一个量化值;
确定所述特征阈值最接近的区间,并用所述最接近的区间对应的量化值更新所述特征阈值。
6.根据权利要求1-5任一项所述的特征衍生方法,基于所述特征集合进行特征衍生,以得到衍生特征,包括:
根据各个特征集合中不同元素构成的组合出现的频次提取目标组合;
根据所述目标组合中的各元素进行特征衍生,以得到衍生特征。
7.根据权利要求6所述的特征衍生方法,若所述特征集合的每个元素为一个节点对应的特征以及所述特征对应的特征阈值,则根据各个特征集合中不同元素构成的组合出现的频次提取目标组合之前,还包括:
将所述特征集合转换为新特征集合,所述新特征集合中的各元素仅包括节点对应的特征。
8.根据权利要求6所述的特征衍生方法,根据各个特征集合中不同元素构成的组合出现的频次提取目标组合,包括:
将元素个数满足第一预设条件以及所述频次满足第二预设条件的组合作为所述目标组合。
9.根据权利要求8所述的特征衍生方法,则所述第一预设条件包括:
若所述组合中的各个元素为一个节点对应的特征,则所述组合中元素个数大于1,小于3;或
若所述组合中的各个元素包括一个节点对应的特征以及所述特征对应的特征阈值,则所述组合中元素个数大于1,小于4。
10.根据权利要求8所述的特征衍生方法,所述第二预设条件包括:
所述组合出现的频次大于预设阈值。
11.根据权利要求6所述的特征衍生方法,根据所述目标组合中的各元素进行特征衍生,以得到衍生特征,包括:
确定所述目标组合的元素的类型;
根据所述元素的类型对所述目标组合中的元素进行衍生,以得到衍生特征。
12.根据权利要求1所述的特征衍生方法,所述方法还包括:
对原始特征进行组合,得到一个或多个目标特征;
根据所述原始特征、目标特征以及所述原始特征的标签训练所述决策树模型。
13.一种特征衍生装置,所述装置包括:
提取模块,用于从预先训练的决策树模型的至少一条路径上提取若干个节点对应的特征;
特征集合生成模块,用于根据所述特征生成特征集合,其中,不同路径上提取的特征对应不同的特征集合;
特征衍生模块,用于根据所述特征集合进行特征衍生,以得到衍生特征。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至12任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911108450.1A CN111046912A (zh) | 2019-11-13 | 2019-11-13 | 特征衍生方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911108450.1A CN111046912A (zh) | 2019-11-13 | 2019-11-13 | 特征衍生方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111046912A true CN111046912A (zh) | 2020-04-21 |
Family
ID=70232714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911108450.1A Pending CN111046912A (zh) | 2019-11-13 | 2019-11-13 | 特征衍生方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046912A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111861750A (zh) * | 2020-07-22 | 2020-10-30 | 北京睿知图远科技有限公司 | 一种基于决策树方法的特征衍生系统及可读存储介质 |
CN113298354A (zh) * | 2021-04-28 | 2021-08-24 | 上海淇玥信息技术有限公司 | 业务衍生指标的自动生成方法、装置及电子设备 |
-
2019
- 2019-11-13 CN CN201911108450.1A patent/CN111046912A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111861750A (zh) * | 2020-07-22 | 2020-10-30 | 北京睿知图远科技有限公司 | 一种基于决策树方法的特征衍生系统及可读存储介质 |
CN113298354A (zh) * | 2021-04-28 | 2021-08-24 | 上海淇玥信息技术有限公司 | 业务衍生指标的自动生成方法、装置及电子设备 |
CN113298354B (zh) * | 2021-04-28 | 2023-08-01 | 上海淇玥信息技术有限公司 | 业务衍生指标的自动生成方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
KR102044205B1 (ko) | 빅데이터와 기계학습을 이용한 타겟 정보 예측 시스템 및 예측 방법 | |
US20190042887A1 (en) | Computer System for Building, Training and Productionizing Machine Learning Models | |
KR101802866B1 (ko) | 빅데이터와 기계학습을 이용한 타겟 정보 예측 시스템 및 예측 방법 | |
CN109034201B (zh) | 模型训练及规则挖掘方法和系统 | |
CN110689368B (zh) | 一种移动应用内广告点击率预测系统设计方法 | |
CN110334208B (zh) | 基于贝叶斯信念网络的lkj故障预测诊断方法和系统 | |
CN112559900B (zh) | 产品推荐方法、装置、计算机设备和存储介质 | |
US11481692B2 (en) | Machine learning program verification apparatus and machine learning program verification method | |
CN112417289B (zh) | 一种基于深度聚类的资讯信息智能推荐方法 | |
Bonaccorso | Hands-on unsupervised learning with Python: implement machine learning and deep learning models using Scikit-Learn, TensorFlow, and more | |
CN111046912A (zh) | 特征衍生方法、装置及计算机设备 | |
CN115936159A (zh) | 基于自动特征挖掘的可解释信贷违约率预测方法、系统 | |
CN113256383A (zh) | 保险产品的推荐方法、装置、电子设备及存储介质 | |
KR102153161B1 (ko) | 확률 그래프 기반의 서열 데이터 연관성 학습 방법 및 시스템 | |
CN109977977B (zh) | 一种识别潜在用户的方法及对应装置 | |
CN111984842B (zh) | 银行客户数据处理方法及装置 | |
CN106874286B (zh) | 一种筛选用户特征的方法及装置 | |
CN110457329B (zh) | 一种实现个性化推荐的方法及装置 | |
CN112801784A (zh) | 一种数字货币交易所的比特币地址挖掘方法及装置 | |
CN114792007A (zh) | 代码检测方法、装置、设备、存储介质和计算机程序产品 | |
CN115099344A (zh) | 模型训练方法和装置、用户画像生成方法和装置、设备 | |
CN114417011A (zh) | 检察业务画像知识融合方法、装置、电子设备及存储介质 | |
US20220012639A1 (en) | Quantizing training data sets using ml model metadata | |
Doğan et al. | Use of data mining techniques in advance decision making processes in a local firm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200421 |
|
RJ01 | Rejection of invention patent application after publication |