特征工程系列:笛卡尔乘积特征构造以及遗传编程特征构造腾讯云开发者社区

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程在机器学习中占有相当重要的地位。在实际应用当中,可以说特征工程是机器学习成功的关键。

那特征工程是什么?

特征工程又包含了 Data PreProcessing(数据预处理)、Feature Extraction(特征提取)、Feature Selection(特征选择)和 Feature construction(特征构造)等子问题,本章内容主要讨论特征构造的方法。

笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积( Cartesian product ),又称直积,表示为 X×Y ,第一个对象是X的成员而第二个对象是 Y 的所有可能有序对的其中一个成员。

假设集合 A={a, b} ,集合 B={0, 1, 2} ,则两个集合的笛卡尔积为 {(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。

通过将单独的特征求笛卡尔乘积的方式来组合2个或更多个特征,从而构造出组合特征。

最终获得的预测能力将远远超过任一特征单独的预测能力。

例如,如果狗狗在下午5点主人下班回来时(快乐地)叫喊,可能表示对主人满意度的正面预测结果。如果狗狗在凌晨3点主人熟睡时(也许痛苦地)哀叫,可能表示对主人满意度的强烈负面预测结果。

这两个特征各自可以离散化为3维和2维的向量,对它们做笛卡尔乘积转化,就可以组合出长度为6的特征,它们分别对应着原始值对 (red, on),(red, off),(green, on),(green, off),(blue, on),(blue, off)。下面的矩阵表达方式更清楚地说明了这种组合。

on

off

red

green

blue

对于三个特征的笛卡尔乘积组合,可以表达为立方的形式。更多特征的组合依次类推。这个方法也可以直接用于连续特征与类别特征之间的组合,只要把连续特征看成是一维的类别特征就好了,这时候组合后特征对应的值就不是 0/1 了,而是连续特征的取值。

样本

color=red& light=on

color=red& light=off

color=green& light=on

color=green& light=off

color=blue& light=on

color=blue& light=off

输出

color

light

on

red

on

green

off

blue

off

red

off

green

输出

color_off& light_blue

color_off& light_green

color_off& light_red

color_on& light_blue

color_on& light_green

color_on& light_red

样本

0<lat<=10& 0<lon<=15

0<lat<=10& 15<lon<=30

10<lat<=20& 0<lon<=15

10<lat<=20& 15<lon<=30

20<lat<=30& 0<lon<=15

20<lat<=30& 15<lon<=30

遗传编程或称基因编程,简称GP,是一种从生物演化过程得到灵感的自动化生成和选择计算机程序来完成用户定义的任务的技术。从理论上讲,人类用遗传编程只需要告诉计算机“需要完成什么”,而不用告诉它“如何去完成”,最终可能实现真正意义上的人工智能:自动化的发明机器。

遗传编程是一种特殊的利用进化算法的机器学习技术,它开始于一群由随机生成的千百万个计算机程序组成的“人群”,然后根据一个程序完成给定的任务的能力来确定某个程序的适合度,应用达尔文的自然选择(适者生存)确定胜出的程序,计算机程序间也模拟两性组合,变异,基因复制,基因删除等代代进化,直到达到预先确定的某个终止条件为止。

当然我这里不是想尝试符号回归的机器学习方式,而是符号回归的机器学习方式提供了另外一种生成特征的思路。

目前,python 环境下最好用的基因编程库为gplearn。虽然遗传编程 (GP) 可以用来执行非常广泛的任务,但是 gplearn 有目的地约束了符号回归问题。

在手工特征工程中,我们会对两个或者多个特征进行一些加减乘除的操作,来生成一些特征,希望能够生成一些根据领域的先验知识,对金额特征, 日期特征进行比值操作生成一些特征,这些特征经常能够提升验证集和测试集的分数,在模型中也有很高的重要程度。

gplearn 这个库提供了解决的思路:

gplearn 的主要组成部分有两个:SymbolicRegressor 和 SymbolicTransformer 。两者的适应度有所不同。

把已有的特征进行组合转换,组合的方式(一元、二元、多元算子)可以由用户自行定义,也可以使用库中自带的函数(如加减乘除、min、max、三角函数、指数、对数)。组合的目的,是创造出和目标y值最“相关”的新特征。这种相关程度可以用spearman或者pearson的相关系数进行测量。spearman多用于决策树(免疫单特征单调变换),pearson多用于线性回归等其他算法。

THE END
0.晶振的构造及工作原理本节内容先写这么多吧,主要是查阅资料,总结了下晶振构造相关的,对于硬件设计来说,用处不是特别大,不过了解下也没坏处。 至于开篇提的几个问题,本节是一个问题也没回答,也不着急,后面总会说清楚的,我希望是慢慢从0开始,构建属于自己的知识体系,这样无论遇到什么问题,见过的,没见过的,总能有分析问题的思路。jvzquC41yy}/gnuy0eun0ls1|j{bpufp14:6;<;0jvsm
1.《建筑构造原理与设计(第5版)》(樊振和著)简介书评当当网图书频道在线销售正版《建筑构造原理与设计(第5版)》,作者:樊振和 著,出版社:天津大学出版社。最新《建筑构造原理与设计(第5版)》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《建筑构造原理与设计(第5版)》,就上当当网。jvzq<84rtqjve}3fcpmecwl0eqs04>7533730qyon
2.汽车构造图解及原理(高清晰)汽车构造图解及原理(高清晰) 汽车的总体构造基本上由四部分组成:发动机、底盘、车身、电器。 汽车结构视图构造图解 ▼ 汽车底视图构造图解 ▼ 汽车总成拆分图构造图解 ▼ 发动机是汽车的动力装置,其作用是使进入其中的燃料经过燃烧而变成热能,并转化为动能jvzquC41yy}/{xtlkc4dqv4cum55/:6:88;48=9::9?87B>590nuou
3.刘亚辉:抓住汽车构造的基本原理,厘清科学创新的历史过程大家好,我是车辆与运载学院的刘亚辉,我承担的是本科生的 “汽车构造(2)”课程,也就是汽车底盘构造,以下是我的同行锦囊: 刘亚辉老师 这门课是一个专业核心课,也是车辆工程专业课组中的入门课,着重于让同学们掌握主流汽车底盘各系统和主要部件的功用、基本结构和工作原理等。这门课的特点是知识点繁多、理论难度较jvzquC41yy}/v|npij{b0niw0et0kwkq13<:68<2259/j}r
4.给煤机构造与原理讲解.ppt给煤机构造与原理讲解 我厂采用的给煤机是由沈阳华电电站工程有限公司生产的HD-BSC26型称重式计量给煤机,这种HD-BSC26型称重式计量给煤机是用于燃煤火力发电厂锅炉制粉系统的主要给煤设备。能够实现连续、均匀给煤,并在给煤过程中进行准确的称重计算,而且能够根据锅炉燃烧控制系统需要,自动调 节给煤量,使实际给jvzquC41oc~/dxtm33>/exr1jvsm1;5391633?4;42>12;>0ujzn
5.JavaScript构造函数举例详解javascript技巧构造函数的原理(new之后发生了什么) 构造函数之所以能构造出对象,其实JS帮助我们做了很多骚操作。你以为new之后直接执行函数体代码,其实并不是,事实比我们看到了多了四步 1 自从用new调用函数后,JS引擎就会在内存中创建一个空对象{} 1 const newObj = {}; 2 新对象的__proto__属性指向构造函数的原型对象 (通jvzquC41yy}/lk:30pku1jwvkerf1;=2397/j}r
6.数据结构ZKW线段树详解本文详细介绍了ZKW线段树,一种由清华大学张昆玮提出的非递归实现的线段树结构,以其简洁的代码和高效率著称,支持可持久化。内容包括线段树的基础知识、ZKW线段树的构造原理、基本操作(建树、查询、修改)以及区间查询和修改的实现。此外,还提及了Lazy标记的实现思路,适用于区间修改和查询的优化。 数据结构-ZKW线段树详解 😊 | PjvzquC41dnuh0lxfp0tfv8~cpykjsr6976?9;B831cxuklqg1fkucrqu13787@:39:
7.X射线衍射仪基本原理构造及XRD用于合金结构确定新闻X射线衍射仪基本原理、构造及XRD用于合金结构确定,上海研润光学显微镜是金相显微镜的维护和生产制造单位,上海研润光学显微镜厂提供 www.yrmade.comjvzquC41yy}/{{rcfg4dqv4pgyy`cuq1427829<;344ivvq
8.2019中级安全工程师《建筑施工安全》金亮精讲班考点:起重机械安全技术3.塔式起重机的基本构造及原理 金属结构、工作机构、驱动控制系统和安全防护装置四个部分。 速记:金工驱动安全 例:下列关于塔式起重机的基本构造及原理的描述中正确的是( )。 A.塔式起重机能靠近建筑物,其幅度利用率可达全幅度的90% B.塔式起重机的主参数是最大额定起重量 jvzquC41yy}/4<80eqs0cz4ou|j0lƒ4423?2286233623;:550nuou