CN106897776A - 一种基于名义属性的连续型特征构造方法 - Google Patents
一种基于名义属性的连续型特征构造方法 Download PDFInfo
- Publication number
- CN106897776A CN106897776A CN201710034428.1A CN201710034428A CN106897776A CN 106897776 A CN106897776 A CN 106897776A CN 201710034428 A CN201710034428 A CN 201710034428A CN 106897776 A CN106897776 A CN 106897776A
- Authority
- CN
- China
- Prior art keywords
- feature
- field
- latent structure
- index
- sample
- 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
Classifications
-
- 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)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于名义属性的连续型特征构造方法,包括步骤:1)数据预处理;2)根据业务背景知识设置特征构造框架;3)产生具体的特征构造路径;4)根据特征构造路径构造相应的特征并产生训练集;5)对训练集进行特征选择并构建预测模型;6)将相关的数据集以及预测模型保存并结束离线训练过程;7)将需要进行线上预测的样本数据进行预处理以及特征提取;8)利用离线训练得到的预测模型对样本进行预测。本发明不仅可以应用于具有“用户‑物品”对的场景,同时也适用于更为一般的带有名义属性或分类变量特征的分类和回归预测问题,与传统的One‑Hot和Dummy编码相比,本发明所产生的特征使得样本之间差异更加明显,产生的特征具有较强的可解释性。
Description
技术领域
本发明涉及机器学习中的特征工程领域,尤其是指一种基于名义属性的连续型特征构造方法。
背景技术
随着大数据时代的到来以及互联网的兴起,各种机器学习算法被用于挖掘数据中所蕴含的具有商业价值的信息,而特征工程则是机器学习***中的一个关键步骤,决定着***的精度的上限,特征构造则是特征工程中的一个重要组成部分。目前关于特征构造大多是基于规则的人工提取,很大程度上依赖于工程师对于业务背景的理解,难以在较短时间内一次性提取出较为全面的特征,尤其是针对名义属性特征或分类变量特征如“黄、红、蓝”一类的颜色特征,往往将名义属性转换为彼此之间距离为相同长度的稀疏向量,采用One-Hot编码或Dummy编码的方式对特征进行构造。这种编码方式虽然每个维度代表着某种名义属性或分类变量是否出现,具有一定的物理意义,但是对于不同的样本,这种特征表示形式默认彼此之间的距离为相同的定值,这一点可能与现实情况相悖,并且当名义属性取值过多的时候,这种编码方式会导致特征维度过大的问题。
本发明提供一种基于名义属性的连续型特征构造方法,这种方法可以实现半自动特征构造,与当前较为常用的名义属性One-Hot编码相比能使产生的样本之间的差异性更加明显,并且具有较强的可扩展性,可以使用并行计算技术进行加速,让机器学习算法工程师可以专注于特征名义属性的组合而不需要过多地考虑具体的构造过程,该方法构造的特征往往为线性特征,具有明显的物理意义,可解释性较强,通过特定的特征选择过程以及简单的线性预测模型就可以达到较好的预测效果,尤其适合于工业应用上的机器学习***的构建。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于名义属性的连续型特征构造方法,这种方法分为离线训练和线上预测两个部分,不仅可以应用于具有“用户-物品”对的场景,同时也适用于更为一般的带有名义属性或分类变量特征的分类和回归预测问题,与传统的One-Hot和Dummy编码相比,本发明的构造方法所产生的特征使得样本之间差异更加明显,产生的特征具有较强的可解释性,并且能够在一定程度上缓解因为特征高维稀疏而导致的过拟合等问题。
为实现上述目的,本发明所提供的技术方案为:一种基于名义属性的连续型特征构造方法,包括以下步骤:
1)数据预处理,包括数据表整合、数据表示形式、缺失值处理;
2)根据业务背景知识设置特征构造框架;
3)产生具体的特征构造路径;
4)根据特征构造路径构造相应的特征并产生训练集;
5)对训练集进行特征选择并构建预测模型;
6)将相关的数据集以及预测模型保存并结束离线训练过程;
7)将需要进行线上预测的样本数据进行预处理以及特征提取;
8)利用离线训练得到的预测模型对样本进行预测。
在步骤1)中,所述数据表整合指的是将现有的数据表进行整合,将数据集中的所有字段置于同一张表中。所述数据表示形式指的是在必要的情况下将当前的名义属性字段转换为新的名义属性字段,具体的表示方法根据不同的应用场合以及不同的预测需求决定。所述缺失值处理包括缺失字段剔除和缺失值填充两种情况,对于其中数据缺失较为严重的字段进行剔除,对于缺失情况不严重的字段,若其为名义属性字段,则将缺失部分的用一个新的属性值填充,或者采用KNN算法对其进行填充,若其为连续型字段,则采用均值填充或其他填充方法。
在步骤2)中,结合业务背景知识确定当前预测或分类问题的特征构造框架,包括以下步骤:
2.1)确定特征构造框架的主干以及主干上的所有主节点。对于“用户-物品”这种应用场景,主干分为“用户-物品-指标-计算方式”、“用户-用户指标-计算方式”、“物品-物品指标-计算方式”三种,主节点指的是主干上的节点,包括“用户”、“物品”、“指标”、“计算方式”、“物品指标”、“用户指标”六种;对于一般的带有名义属性或分类变量的应用场景,主干则仅有“窗口-指标-计算方式”一种,相应的主节点仅有“窗口”、“指标”和“计算方式”三种。
2.2)确定主节点下的叶子节点。每个主节点下至少包括一个叶子节点,每个叶子节点都存储着数据表中的一个名义属性字段名。对于“用户-物品”这种应用场景,主节点“用户”下的叶子节点通常都代表着用户的特点和属性,都将用户划分为多个不同的类别,而主节点“物品”下的叶子节点则代表的是物品的特点和属性。“指标”下的叶子节点则代表着用户和物品之间的匹配的程度,如用户描述与物品描述之间的相似度、某个用户和物品是否在同一个样本中出现等,“用户指标”下的叶子节点则仅表示用户的某种指标,如用户的年龄、账户的余额等,“物品指标”下的叶子节点则代表着物品自身的某种指标,如物品的价格等。对于一般的带有名义属性或分类变量的应用场景,“指标”下的叶子节点存储的通常为除名义属性外的连续型特征字段名,“窗口”下的所有叶子节点存储所有的名义属性的字段名。而“计算方式”下的叶子节点则指的是根据当前的预测需求或者业务背景知识所设置的统计方式,如求和、均值、标准差、中位数、众数等。
在步骤3)中,根据步骤2)所确定的特征构造框架产生具体的特征构造路径,对于“用户-物品”这种应用场景而言,其中一条特征构造路径包含主干以及主干上每个主节点所选择的一个叶子节点并按照“主干-主节点-叶子节点”的顺序遍历所有可能的特征构造路径,而对于一般的带有名义属性的应用场景,则需要经过以下步骤:
3.1)确定窗口的大小,即确定一个窗口内包含多少个叶子节点;
3.2)设定叶子节点组合规则:将“窗口”主节点下的叶子节点进行组合,遍历所有符合窗口大小和组合规则的叶子节点组合;
3.3)对于窗口下的每种叶子节点组合,与主节点“指标”下不同的叶子节点和“计算方式”下不同的叶子节点进行组合,最终构成所有可能的特征构造路径。
在步骤4)中,根据特征构造路径构造相应的特征,包括以下步骤:
4.1)确定当前特征构造路径中包含的所有名义属性字段,对于“用户-物品”场合,当前路径的名义属性字段根据当前路径的主节点“用户”和“物品”选择的叶子节点决定,对于一般的带有名义属性的应用场景,则根据“窗口”主节点下的叶子节点组合所包含的名义属性字段决定。
4.2)设步骤4.1)中确定的名义属性字段集合为C={A,B,…},其中A和B均代表名义属性字段名,在“用户-物品”场合下,集合的大小为1或2,对于一般的带有名义属性的应用场景,集合大小至少为1.每条路径最终产生的特征都由下式给出:
FCyf,i=f(Yi)
其中y表示当前路径中“用户指标”、“物品指标”或“指标”主节点下的叶子节点中的字段,f表示自定义的计算方式,Cyf确定了每一条路径的组成结构,FCyf,i表示第i个样本关于路径Cyf的特征取值,Yi表示第i个样本的样本索引集合SCyf,i中所有样本的指标字段取值的集合,即:
Yi={yj|j∈SCyf,i}
SCyf,i的定义表达式如下式所示:
其中S表示所有样本的索引集合,Ci表示第i个样本中对于集合C中每个名义属性字段的所有取值的集合,Cj=Ci表示第i个样本中对于集合C中每个名义属性字段的所有取值的集合与第j个样本相同。
若将计算方式f分别定义为求和(sum),平均(average)和标准差(std),则这三种计算方式下产生的特征可以分别由下面的式子给出:
4.3)将每条路径都按照步骤4.2)进行特征构造,当所有样本的特征构造路径产生特征之后,将其置于同一张表中作为训练集,其中样本为行,字段为特征的字段,字段名以构造该特征的路径命名。
在步骤5)中,通过特征选择算法从所有特征中挑选出对于预测精度效果最好的特征子集并构建预测模型。
在步骤6)中,所述相关的数据集指的是特征选择后的训练集和训练集构建时所涉及的所有名义属性字段的数据,这些数据集将用于线上样本的特征的产生,训练集中的特征的字段名依旧保持以特征构造路径命名,并将两个数据集所有字段置于同一张表中,保存的预测模型则将用于线上样本的预测。
在步骤7)中,将需要进行线上预测的样本数据进行预处理以及特征提取,包括以下步骤:
7.1)将线上待预测的样本数据进行预处理,这里与离线训练过程中的预处理步骤对应,将离线训练过程中因为缺失严重而被剔除的字段在当前的样本数据中加以剔除,对于其他在离线训练过程中未被剔除而在当前样本数据中存在数据缺失的字段,则采用KNN算法或者均值填充处理。
7.2)对线上待预测的样本数据进行特征提取,这一过程依旧与离线训练过程相对应,首先从步骤6)中得到的数据表中读取每一个特征构造路径即特征字段名,根据特征构造路径以及路径相应的名义属性字段,将与待预测样本名义属性字段取值完全相同的训练集样本对应当前的路径的特征取值复制到待预测样本中。
在步骤8)中,利用离线训练得到的预测模型对步骤7)中特征提取后的待预测样本进行预测。
本发明与现有技术相比,具有如下优点与有益效果:
1、很多预测问题或者推荐问题采用基于热度的特征进行分类或预测具有较好的效果,本发明提供了一种可以将不同粒度的基于热度的所有特征罗列出来的方法。
2、本发明中的特征构造方法具有较为良好的扩展性,在“用户-物品”方法中允许用户基于业务背景创建自定义的叶子节点,使得方法可以自动地构造出较符合现实情况的特征,在通用的特征构造方法中则摆脱了“用户-物品”的限制,只需要设定窗口的大小就可以针对名义属性进行特征构造。
3、本发明中的特征构造方法在实现方式上每条特征构造路径之间彼此独立,适合并行化。
4、本发明中的“用户-物品”方法构造的特征可解释性较强,具有较好的现实意义,如“当前用户对所有广告的点击总数”往往代表着用户对所有广告的点击的可能性。
5、本发明中的特征构造方法构造出来的特征往往为线性特征,可以简单地通过皮尔逊相关系数进行特征选择,并且使用较为简单的线性模型就可以得到较好的分类或者预测效果。
6、与当前较为常用的名义属性One-Hot编码相比能使产生的特征之间的差异性更加明显,名义属性采用One-Hot编码往往不同属性之间的特征向量的距离均为定值,本发明的方法构造出的特征对于不同属性之间的距离通过指标节点中的字段进行放大或缩小。
7、在线上预测中,无需重新构造特征,只需要从离线训练数据中直接提取特征即可,避免了在线上进行预测的时候由于算法复杂度过高导致时间开销过大的问题。
附图说明
图1是本发明的特征构造方法及其相应的整个机器学习***。
图2是基于“用户-物品”应用场景的特征构造方法整体框架。
图3是含有名义属性字段的一般应用场景的特征构造框架。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
如图1所示,本实施例所述的基于名义属性的连续型特征构造方法是整个机器学习***中的重要一环,负责产生训练模型所需的所有特征,决定着整个预测模型精度的上限,同时本方法分成离线训练和线上预测两个部分,离线构造特征,线上根据已有的训练集产生待预测样本特征,无需重新计算。具体包括以下步骤:
1)数据预处理,包括数据表整合、数据表示形式、缺失值处理等。所述数据表整合指的是将现有的数据表进行整合,将数据集中的所有字段置于同一张表中;所述数据表示形式指的是将当前的名义属性字段转换为新的名义属性字段,具体的表示方法根据不同的应用场合以及不同的预测需求决定;所述缺失值处理包括缺失字段剔除和缺失值填充两种情况,对于其中数据缺失严重的字段进行剔除,对于缺失情况不严重的字段,若其为名义属性字段,则将缺失部分的用一个新的属性值填充,或者采用KNN算法对其进行填充,若其为连续型字段,则采用均值填充或其他填充方法。
表1数据集表示形式
ID | 用户ID | 用户属性A | 用户属性B | 物品ID | 物品属性C | 是否发生 | 相似度 |
1 | 1 | 1 | 2 | 1 | 2 | 0 | 0.25 |
2 | 1 | 2 | 1 | 2 | 2 | 1 | 0.45 |
3 | 2 | 2 | 2 | 3 | 1 | 1 | 0.80 |
… | … | … | … | … | … | … | … |
实际实现效果如表1所示,将当前数据集中的所有名义属性以及相关的指标字段等数据存储到同一张表中并进行数据预处理,其中字段“ID”代表样本标号。
2)根据业务背景知识设置特征构造框架,包括以下步骤:
2.1)确定特征构造框架的主干以及主干上的所有主节点。对于“用户-物品”这种应用场景,主干分为“用户-物品-指标-计算方式”、“用户-用户指标-计算方式”、“物品-物品指标-计算方式”三种,主节点指的是主干上的节点,包括“用户”、“物品”、“指标”、“计算方式”、“物品指标”、“用户指标”六种;对于一般的带有名义属性或分类变量的应用场景,主干则仅有“窗口-指标-计算方式”一种,相应的主节点仅有“窗口”、“指标”和“计算方式”三种。
2.2)确定主节点下的叶子节点。每个主节点下至少包括一个叶子节点,每个叶子节点都存储着数据表中的一个名义属性字段名。对于“用户-物品”这种应用场景,主节点“用户”下的叶子节点通常都代表着用户的特点和属性,都将用户划分为多个不同的类别,而主节点“物品”下的叶子节点则代表的是物品的特点和属性。“指标”下的叶子节点则代表着用户和物品之间的匹配的程度,如用户描述与物品描述之间的相似度、某个用户和物品是否在同一个样本中出现等,“用户指标”下的叶子节点则仅表示用户的某种指标,如用户的年龄、账户的余额等,“物品指标”下的叶子节点则代表着物品自身的某种指标,如物品的价格等。对于一般的带有名义属性或分类变量的应用场景,“指标”下的叶子节点存储的通常为除名义属性外的连续型特征字段名,“窗口”下的所有叶子节点存储所有的名义属性的字段名。而“计算方式”下的叶子节点则指的是根据当前的预测需求或者业务背景知识所设置的统计方式,如求和、均值、标准差、中位数、众数等。
根据经验设定方法中的每个节点,并将相应的字段名存入节点中,并采用JSON文件对整个方法的结构进行描述并与步骤1)中预处理后的数据集一起作为特征构造过程的输入,其中对于“用户-物品”这种应用场景,其JSON文件内容如下所示(与表1对应),更为一般的框架结构如图2所示,这里仅展示三个用户名义属性包括"用户ID","用户属性A","用户属性B"和两个物品属性"物品ID","物品属性C"与表1相互对应,实际使用过程中根据所或许的字段的数目不同设置不同数目的叶子节点;
对于含有名义属性的更为一般的应用场景,则不区分“用户”或者“物品”这两种主节点,统一采用“窗口”,窗口下包含所有的名义属性字段,其框架结构如图3所示。
3)产生具体的特征构造路径:对于“用户-物品”这种应用场景,根据JSON文件中的叶子节点进行路径组合,先选择主干再选择每个主节点上的叶子节点,如“用户ID”—“物品属性C”—“相似度”—“mean”代表着当前用户与当前物品属性C下的物品的平均相似度,实际实现中这里的组合只会将除了计算方式节点外的叶子节点进行路径组合,因为计算方式节点的计算是以浮点数计算为主,而其他节点的计算则与查询匹配和集合的交等运算为主,并且在组合出所有可能的路径之后,会对一些不必要或者是不可实现的路径预先进行去除,如“所有用户对所有物品的总热度”这类的特征在每个样本中的取值是一样的,“当前用户对当前物品是否发生”这类的特征则是需要预测或分类的目标,属于不可实现的路径。
对于含有名义属性的更为一般的应用场景,则需要预先确定窗口的大小,即确定一个窗口内包含多少个叶子节点;设定叶子节点组合规则:将“窗口”主节点下的叶子节点进行组合,遍历所有符合窗口大小和组合规则的叶子节点组合;对于窗口下的每种叶子节点组合,与主节点“指标”下不同的叶子节点和“计算方式”下不同的叶子节点进行组合,最终构成所有可能的特征构造路径。
4)根据特征构造路径构造相应的特征并产生训练集,包括以下步骤:
4.1)确定当前特征构造路径中包含的所有名义属性字段,对于“用户-物品”场合,当前路径的名义属性字段根据当前路径的主节点“用户”和“物品”选择的叶子节点决定,对于一般的带有名义属性的应用场景,则根据“窗口”主节点下的叶子节点组合所包含的名义属性字段决定。
4.2)设步骤4.1)中确定的名义属性字段集合为C={A,B,…},其中A和B均代表名义属性字段名,在“用户-物品”场合下,集合的大小为1或2,对于一般的带有名义属性的应用场景,集合大小至少为1.每条路径最终产生的特征都由下式给出:
FCyf,i=f(Yi)
其中y表示当前路径中“用户指标”、“物品指标”或“指标”主节点下的叶子节点中的字段,f表示自定义的计算方式,Cyf确定了每一条路径的组成结构,FCyf,i表示第i个样本关于路径Cyf的特征取值,Yi表示第i个样本的样本索引集合SCyf,i中所有样本的指标字段取值的集合,即:
Yi={yj|j∈SCyf,i}
SCyf,i的定义表达式如下式所示:
其中S表示所有样本的索引集合,Ci表示第i个样本中对于集合C中每个名义属性字段的所有取值的集合,Cj=Ci表示第i个样本中对于集合C中每个名义属性字段的所有取值的集合与第j个样本相同。
若将计算方式f分别定义为求和(sum),平均(average)和标准差(std),则这三种计算方式下产生的特征可以分别由下面的式子给出:
在实际实现中,对特征的计算采用数据查询语句来完成对上述公式的计算,首先根据计算方式的所有叶子节点确定聚合函数,最后再采用GROUP BY操作实现特征的构造(以“用户-物品”场合为例,具体操作语句如下表2所示)。
每执行一次GROUP BY操作就会产生多个维度的特征(具体是多少个取决于计算方式节点有多少个叶子节点),对于“用户-物品”这种应用场合,特征空间的每个维度的字段名为user_field@item_field@indication_field@std_dev或者是user_field@item_field@indication_field@mean,其中user_field、item_field和indication_field为字符串变量,代表着用户和物品和指标主节点下叶子节点的字段名。对于更为一般的应用场合,则采用attributes1@attributes2@...@indication_field@operation这一形式表示,由于这一步骤每次查询都是相互独立的,因此可以很容易地进行并行化。
表2特征构造操作
行号 | SQL |
1 | SELECT user_field,item_field, |
2 | STD(indication_field)AS user_field@item_field@std_dev, |
3 | MEAN(indication_field)AS user_field@item_field@mean |
4 | FROM表1 |
5 | GROUP BY user_field,item_field |
4.3)将每条路径都按照步骤4.2)进行特征构造,当所有样本的特征构造路径产生特征之后,将其置于同一张表中作为训练集,其中样本为行,字段为特征的字段,字段名以构造该特征的路径命名。
5)对训练集进行特征选择并构建预测模型:如采用皮尔逊相关系数对训练集进行特征选择,将训练集中的所有特征进行特征选择,并计算各个特征与和目标的相关系数,当相关系数大于指定阈值时,则保留该特征,否则去除该特征,经过上述步骤得到特征子集之后,计算两两特征之间的相关系数,从该子集中挑选出特征之间两两相关性较弱的子集作为最终的特征集合,最后选择精度较好的预测模型进行模型训练。
6)在进行线上预测之前,需先把离线训练过程中必要的数据保存下来,以便在线上预测过程中使用,其中包括:
6.1)将离线训练的步骤5)中的特征保存下来,与其步骤1)中除了指标字段以外的其他字段放到同一张表中,如下表3所示。其中特征1的实际字段名以user_field@item_field@indication_field@mean的字符串形式命名;
6.2)将步骤5)得到的模型和相关参数保存。
表3训练样本信息
用户ID | 用户属性A | 用户属性B | 物品ID | 物品属性C | 特征1 | 特征2 | … |
1 | 1 | 2 | 1 | 2 | 0 | 0.25 | … |
1 | 2 | 1 | 2 | 2 | 1 | 0.45 | … |
2 | 2 | 2 | 3 | 1 | 1 | 0.80 | … |
… | … | … | … | … | … | … | … |
7)将需要进行线上预测的样本数据进行预处理以及特征提取:将表3中的特征的字段名取出,得到产生特征的所有路径组合,对于每一条路径,根据相应的名义属性字段对表3进行去重,再和待预测样本数据表进行左连接,从而得到当前路径的特征。
8)利用离线训练得到的预测模型对步骤7)中特征提取后的待预测样本进行预测。
综上所述,在采用以上方案后,本发明为名义属性特征构造提供了新的方法,不仅可以应用于具有“用户-物品”对的场景,同时也适用于更为一般的带有名义属性或分类变量特征的分类和回归预测问题,与传统的One-Hot和Dummy编码相比,本发明的构造方法所产生的特征使得样本之间差异更加明显,产生的特征具有较强的可解释性,具有实际推广价值,值得推广。
以上所述实施例只为本发明之较佳实施例,并非以此限制本发明的实施范围,故凡依本发明之形状、原理所作的变化,均应涵盖在本发明的保护范围内。
Claims (7)
1.一种基于名义属性的连续型特征构造方法,其特征在于,包括以下步骤:
1)数据预处理,包括数据表整合、数据表示形式、缺失值处理;
2)根据业务背景知识设置特征构造框架;
3)产生具体的特征构造路径;
4)根据特征构造路径构造相应的特征并产生训练集;
5)对训练集进行特征选择并构建预测模型;
6)将相关的数据集以及预测模型保存并结束离线训练过程;
7)将需要进行线上预测的样本数据进行预处理以及特征提取;
8)利用离线训练得到的预测模型对样本进行预测。
2.根据权利要求1所述的一种基于名义属性的连续型特征构造方法,其特征在于:在步骤1)中,所述数据表整合指的是将现有的数据表进行整合,将数据集中的所有字段置于同一张表中;所述数据表示形式指的是将当前的名义属性字段转换为新的名义属性字段,具体的表示方法根据不同的应用场合以及不同的预测需求决定;所述缺失值处理包括缺失字段剔除和缺失值填充两种情况,对于其中数据缺失严重的字段进行剔除,对于缺失情况不严重的字段,若其为名义属性字段,则将缺失部分的用一个新的属性值填充,或者采用KNN算法对其进行填充,若其为连续型字段,则采用均值填充或其他填充方法。
3.根据权利要求1所述的一种基于名义属性的连续型特征构造方法,其特征在于:在步骤2)中,结合业务背景知识确定当前预测或分类问题的特征构造框架,包括以下步骤:
2.1)确定特征构造框架的主干以及主干上的所有主节点
对于“用户-物品”这种应用场景,主干分为“用户-物品-指标-计算方式”、“用户-用户指标-计算方式”、“物品-物品指标-计算方式”三种,主节点指的是主干上的节点,包括“用户”、“物品”、“指标”、“计算方式”、“物品指标”、“用户指标”六种;对于带有名义属性或分类变量的应用场景,主干则仅有“窗口-指标-计算方式”一种,相应的主节点仅有“窗口”、“指标”和“计算方式”三种;
2.2)确定主节点下的叶子节点
每个主节点下至少包括一个叶子节点,每个叶子节点都存储着数据表中的一个名义属性字段名,对于“用户-物品”这种应用场景,主节点“用户”下的叶子节点通常都代表着用户的特点和属性,都将用户划分为多个不同的类别,而主节点“物品”下的叶子节点则代表的是物品的特点和属性,“指标”下的叶子节点则代表着用户和物品之间的匹配的程度,“用户指标”下的叶子节点则仅表示用户的某种指标,“物品指标”下的叶子节点则代表着物品自身的某种指标,对于带有名义属性或分类变量的应用场景,“指标”下的叶子节点存储的通常为除名义属性外的连续型特征字段名,“窗口”下的所有叶子节点存储所有的名义属性的字段名,而“计算方式”下的叶子节点则指的是根据当前的预测需求或者业务背景知识所设置的统计方式;
在步骤3)中,根据步骤2)所确定的特征构造框架产生具体的特征构造路径,对于“用户-物品”这种应用场景而言,其中一条特征构造路径包含主干以及主干上每个主节点所选择的一个叶子节点并按照“主干-主节点-叶子节点”的顺序遍历所有可能的特征构造路径,而对于带有名义属性的应用场景,则需要经过以下步骤:
3.1)确定窗口的大小,即确定一个窗口内包含多少个叶子节点;
3.2)设定叶子节点组合规则:将“窗口”主节点下的叶子节点进行组合,遍历所有符合窗口大小和组合规则的叶子节点组合;
3.3)对于窗口下的每种叶子节点组合,与主节点“指标”下不同的叶子节点和“计算方式”下不同的叶子节点进行组合,最终构成所有可能的特征构造路径;
在步骤4)中,根据特征构造路径构造相应的特征,包括以下步骤:
4.1)确定当前特征构造路径中包含的所有名义属性字段,对于“用户-物品”场合,当前路径的名义属性字段根据当前路径的主节点“用户”和“物品”选择的叶子节点决定,对于带有名义属性的应用场景,则根据“窗口”主节点下的叶子节点组合所包含的名义属性字段决定;
4.2)设步骤4.1)中确定的名义属性字段集合为C={A,B,…},其中A和B均代表名义属性字段名,在“用户-物品”场合下,集合的大小为1或2,对于带有名义属性的应用场景,集合大小至少为1,每条路径最终产生的特征都由下式给出:
FCyf,i=f(Yi)
式中,y表示当前路径中“用户指标”、“物品指标”或“指标”主节点下的叶子节点中的字段,f表示自定义的计算方式,Cyf确定了每一条路径的组成结构,FCyf,i表示第i个样本关于路径Cyf的特征取值,Yi表示第i个样本的样本索引集合SCyf,i中所有样本的指标字段取值的集合,即:
Yi={yj|j∈SCyf,i}
SCyf,i的定义表达式如下式所示:
式中,S表示所有样本的索引集合,Ci表示第i个样本中对于集合C中每个名义属性字段的所有取值的集合,Cj=Ci表示第i个样本中对于集合C中每个名义属性字段的所有取值的集合与第j个样本相同;
若将计算方式f分别定义为求和sum,平均average和标准差std,则这三种计算方式下产生的特征分别由下面的式子给出:
4.3)将每条路径都按照步骤4.2)进行特征构造,当所有样本的特征构造路径产生特征之后,将其置于同一张表中作为训练集,其中样本为行,字段为特征的字段,字段名以构造该特征的路径命名。
4.根据权利要求1所述的一种基于名义属性的连续型特征构造方法,其特征在于:在步骤5)中,通过特征选择算法从所有特征中挑选出对于预测精度效果最好的特征子集并构建预测模型。
5.根据权利要求1所述的一种基于名义属性的连续型特征构造方法,其特征在于:在步骤6)中,所述相关的数据集指的是特征选择后的训练集和训练集构建时所涉及的所有名义属性字段的数据,这些数据集将用于线上样本的特征的产生,训练集中的特征的字段名依旧保持以特征构造路径命名,并将两个数据集所有字段置于同一张表中,保存的预测模型则将用于线上样本的预测。
6.根据权利要求1所述的一种基于名义属性的连续型特征构造方法,其特征在于:在步骤7)中,将需要进行线上预测的样本数据进行预处理以及特征提取,包括以下步骤:
7.1)将线上待预测的样本数据进行预处理,这里与离线训练过程中的预处理步骤对应,将离线训练过程中因为缺失严重而被剔除的字段在当前的样本数据中加以剔除,对于其他在离线训练过程中未被剔除而在当前样本数据中存在数据缺失的字段,则采用KNN算法或者均值填充处理;
7.2)对线上待预测的样本数据进行特征提取,这一过程依旧与离线训练过程相对应,首先从步骤6)中得到的数据表中读取每一个特征构造路径即特征字段名,根据特征构造路径以及路径相应的名义属性字段,将与待预测样本名义属性字段取值完全相同的训练集样本对应当前的路径的特征取值复制到待预测样本中。
7.根据权利要求1所述的一种基于名义属性的连续型特征构造方法,其特征在于:在步骤8)中,利用离线训练得到的预测模型对步骤7)中特征提取后的待预测样本进行预测。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710034428.1A CN106897776A (zh) | 2017-01-17 | 2017-01-17 | 一种基于名义属性的连续型特征构造方法 |
PCT/CN2017/116131 WO2018133596A1 (zh) | 2017-01-17 | 2017-12-14 | 一种基于名义属性的连续型特征构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710034428.1A CN106897776A (zh) | 2017-01-17 | 2017-01-17 | 一种基于名义属性的连续型特征构造方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106897776A true CN106897776A (zh) | 2017-06-27 |
Family
ID=59197925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710034428.1A Pending CN106897776A (zh) | 2017-01-17 | 2017-01-17 | 一种基于名义属性的连续型特征构造方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106897776A (zh) |
WO (1) | WO2018133596A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107844560A (zh) * | 2017-10-30 | 2018-03-27 | 北京锐安科技有限公司 | 一种数据接入的方法、装置、计算机设备和可读存储介质 |
WO2018133596A1 (zh) * | 2017-01-17 | 2018-07-26 | 华南理工大学 | 一种基于名义属性的连续型特征构造方法 |
CN108776673A (zh) * | 2018-05-23 | 2018-11-09 | 哈尔滨工业大学 | 关系模式的自动转换方法、装置及存储介质 |
CN108932647A (zh) * | 2017-07-24 | 2018-12-04 | 上海宏原信息科技有限公司 | 一种预测相似物品及训练其模型的方法和装置 |
CN109146083A (zh) * | 2018-08-06 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 特征编码方法和装置 |
CN111651524A (zh) * | 2020-06-05 | 2020-09-11 | 第四范式(北京)技术有限公司 | 利用机器学习模型进行线上预测的辅助实现方法及装置 |
CN113892939A (zh) * | 2021-09-26 | 2022-01-07 | 燕山大学 | 一种基于多特征融合的人体静息状态下呼吸频率监测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101226521A (zh) * | 2008-02-18 | 2008-07-23 | 南京大学 | 一种用于多义性数据对象预测建模的机器学习方法 |
US7792770B1 (en) * | 2007-08-24 | 2010-09-07 | Louisiana Tech Research Foundation; A Division Of Louisiana Tech University Foundation, Inc. | Method to indentify anomalous data using cascaded K-Means clustering and an ID3 decision tree |
CN104063472A (zh) * | 2014-06-30 | 2014-09-24 | 电子科技大学 | 一种优化训练样本集的knn文本分类方法 |
CN104134017A (zh) * | 2014-07-18 | 2014-11-05 | 华南理工大学 | 一种基于紧凑特征表示的蛋白质作用关系对抽取方法 |
CN105550275A (zh) * | 2015-12-09 | 2016-05-04 | 中国科学院重庆绿色智能技术研究院 | 一种微博转发量预测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451065B2 (en) * | 2002-03-11 | 2008-11-11 | International Business Machines Corporation | Method for constructing segmentation-based predictive models |
CN106897776A (zh) * | 2017-01-17 | 2017-06-27 | 华南理工大学 | 一种基于名义属性的连续型特征构造方法 |
-
2017
- 2017-01-17 CN CN201710034428.1A patent/CN106897776A/zh active Pending
- 2017-12-14 WO PCT/CN2017/116131 patent/WO2018133596A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792770B1 (en) * | 2007-08-24 | 2010-09-07 | Louisiana Tech Research Foundation; A Division Of Louisiana Tech University Foundation, Inc. | Method to indentify anomalous data using cascaded K-Means clustering and an ID3 decision tree |
CN101226521A (zh) * | 2008-02-18 | 2008-07-23 | 南京大学 | 一种用于多义性数据对象预测建模的机器学习方法 |
CN104063472A (zh) * | 2014-06-30 | 2014-09-24 | 电子科技大学 | 一种优化训练样本集的knn文本分类方法 |
CN104134017A (zh) * | 2014-07-18 | 2014-11-05 | 华南理工大学 | 一种基于紧凑特征表示的蛋白质作用关系对抽取方法 |
CN105550275A (zh) * | 2015-12-09 | 2016-05-04 | 中国科学院重庆绿色智能技术研究院 | 一种微博转发量预测方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018133596A1 (zh) * | 2017-01-17 | 2018-07-26 | 华南理工大学 | 一种基于名义属性的连续型特征构造方法 |
CN108932647A (zh) * | 2017-07-24 | 2018-12-04 | 上海宏原信息科技有限公司 | 一种预测相似物品及训练其模型的方法和装置 |
CN107844560A (zh) * | 2017-10-30 | 2018-03-27 | 北京锐安科技有限公司 | 一种数据接入的方法、装置、计算机设备和可读存储介质 |
CN108776673A (zh) * | 2018-05-23 | 2018-11-09 | 哈尔滨工业大学 | 关系模式的自动转换方法、装置及存储介质 |
CN108776673B (zh) * | 2018-05-23 | 2020-08-18 | 哈尔滨工业大学 | 关系模式的自动转换方法、装置及存储介质 |
CN109146083A (zh) * | 2018-08-06 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 特征编码方法和装置 |
CN109146083B (zh) * | 2018-08-06 | 2021-07-23 | 创新先进技术有限公司 | 特征编码方法和装置 |
CN111651524A (zh) * | 2020-06-05 | 2020-09-11 | 第四范式(北京)技术有限公司 | 利用机器学习模型进行线上预测的辅助实现方法及装置 |
CN111651524B (zh) * | 2020-06-05 | 2023-10-03 | 第四范式(北京)技术有限公司 | 利用机器学习模型进行线上预测的辅助实现方法及装置 |
CN113892939A (zh) * | 2021-09-26 | 2022-01-07 | 燕山大学 | 一种基于多特征融合的人体静息状态下呼吸频率监测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018133596A1 (zh) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897776A (zh) | 一种基于名义属性的连续型特征构造方法 | |
Bai et al. | Integrating Fuzzy C-Means and TOPSIS for performance evaluation: An application and comparative analysis | |
CN109345302A (zh) | 机器学习模型训练方法、装置、存储介质和计算机设备 | |
CN104008203B (zh) | 一种融入本体情境的用户兴趣挖掘方法 | |
CN110083700A (zh) | 一种基于卷积神经网络的企业舆情情感分类方法及*** | |
CN112463980A (zh) | 一种基于知识图谱的预案智能推荐方法 | |
CN108829763A (zh) | 一种基于深度神经网络的影评网站用户的属性预测方法 | |
CN104346440A (zh) | 一种基于神经网络的跨媒体哈希索引方法 | |
CN112884551B (zh) | 一种基于近邻用户和评论信息的商品推荐方法 | |
CN106445988A (zh) | 一种大数据的智能处理方法和*** | |
CN106600052A (zh) | 一种基于时空轨迹的用户属性与社会网络检测*** | |
CN109582876A (zh) | 旅游行业用户画像构造方法、装置和计算机设备 | |
CN107357793A (zh) | 信息推荐方法和装置 | |
CN107346327A (zh) | 基于监督转移的零样本哈希图片检索方法 | |
CN110110372B (zh) | 一种用户时序行为自动切分预测方法 | |
CN102591915A (zh) | 一种基于标签迁移学习的推荐方法 | |
CN113706251B (zh) | 基于模型的商品推荐方法、装置、计算机设备和存储介质 | |
CN106997488A (zh) | 一种结合马尔科夫决策过程的动作知识提取方法 | |
CN112801425B (zh) | 信息点击率的确定方法、装置、计算机设备和存储介质 | |
CN114971784B (zh) | 一种融合自注意力机制基于图神经网络的会话推荐方法与*** | |
Huynh et al. | Joint age estimation and gender classification of Asian faces using wide ResNet | |
CN107239532A (zh) | 数据挖掘方法及装置 | |
CN114723535A (zh) | 一种基于供应链与知识图谱的物品推荐方法、设备及介质 | |
CN112487305B (zh) | 一种基于gcn的动态社交用户对齐方法 | |
CN103440651A (zh) | 一种基于秩最小化的多标签图像标注结果融合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170627 |
|
RJ01 | Rejection of invention patent application after publication |