谁动了我的特征
发布网友
发布时间:2022-04-24 09:17
我来回答
共1个回答
热心网友
时间:2022-06-18 11:16
谁动了我的特征
1 为什么要记录特征转换行为?
使用机器学习算法和模型进行数据挖掘,有时难免事与愿违:我们依仗对业务的理解,对数据的分析,以及工作经验提出了一些特征,但是在模型训练完成后,某些特征可能“身微言轻”——我们认为相关性高的特征并不重要,这时我们便要反思这样的特征提出是否合理;某些特征甚至“南辕北辙”——我们认为正相关的特征结果变成了负相关,造成这种情况很有可能是抽样与整体不相符,模型过于复杂,导致了过拟合。然而,我们怎么判断先前的假设和最后的结果之间的差异呢?
线性模型通常有含有属性coef_,当系数值大于0时为正相关,当系数值小于0时为负相关;另外一些模型含有属性feature_importances_,顾名思义,表示特征的重要性。根据以上两个属性,便可以与先前假设中的特征的相关性(或重要性)进行对比了。但是,理想是丰满的,现实是骨感的。经过复杂的特征转换之后,特征矩阵X已不再是原来的样子:哑变量使特征变多了,特征选择使特征变少了,降维使特征映射到另一个维度中。
累觉不爱了吗?如果,我们能够将最后的特征与原特征对应起来,那么分析特征的系数和重要性又有了意义了。所以,在训练过程(或者转换过程)中,记录下所有特征转换行为是一个有意义的工作。可惜,sklearn暂时并没有提供这样的功能。在这篇博文中,我们尝试对一些常见的转换功能进行行为记录,读者可以在此基础进行进一步的拓展。
2 有哪些特征转换的方式?
《使用sklearn做单机特征工程》一文概括了若干常见的转换功能:
类名功能说明
StandardScaler数据预处理(无量纲化)标准化,基于特征矩阵的列,将特征值转换至服从标准正态分布
MinMaxScaler数据预处理(无量纲化)区间缩放,基于最大最小值,将特征值转换到[0, 1]区间上
Normalizer数据预处理(归一化)基于特征矩阵的行,将样本向量转换为“单位向量”
Binarizer数据预处理(二值化)基于给定阈值,将定量特征按阈值划分
OneHotEncoder数据预处理(哑编码)将定性数据编码为定量数据
Imputer数据预处理(缺失值计算)计算缺失值,缺失值可填充为均值等
PolynomialFeatures数据预处理(多项式数据转换)多项式数据转换
FunctionTransformer数据预处理(自定义单元数据转换)使用单变元的函数来转换数据
VarianceThreshold特征选择(Filter)方差选择法
SelectKBest特征选择(Filter)可选关联系数、卡方校验、最大信息系数作为得分计算的方法
RFE特征选择(Wrapper)递归地训练基模型,将权值系数较小的特征从特征集合中消除
SelectFromModel特征选择(Embedded)训练基模型,选择权值系数较高的特征
PCA降维(无监督)主成分分析法
LDA降维(有监督)线性判别分析法
按照特征数量是否发生变化,这些转换类可分为:
无变化:StandardScaler,MinMaxScaler,Normalizer,Binarizer,Imputer,FunctionTransformer*
有变化:OneHotEncoder,PolynomialFeatures,VarianceThreshold,SelectKBest,RFE,SelectFromModel,PCA,LDA
FunctionTransformer*:自定义的转换函数通常不会使特征数量发生变化
对于不造成特征数量变化的转换类,我们只需要保持特征不变即可。在此,我们主要研究那些有变化的转换类,其他转换类都默认为无变化。按照映射的形式,可将以上有变化的转换类可分为:
一对一:VarianceThreshold,SelectKBest,RFE,SelectFromModel
一对多:OneHotEncoder
多对多:PolynomialFeatures,PCA,LDA
原特征与新特征为一对一映射通常发生在特征选择时,若原特征被选择则直接变成新特征,否则抛弃。哑编码为典型的一对多映射,需要哑编码的原特征将会转换为多个新特征。多对多的映射中PolynomialFeatures并不要求每一个新特征都与原特征建立映射关系,例如阶为2的多项式转换,第一个新特征只由第一个原特征生成(平方)。降维的本质在于将原特征矩阵X映射到维度更低的空间中,使用的技术通常是矩阵乘法,所以它既要求每一个原特征映射到所有新特征,同时也要求每一个新特征被所有原特征映射。
3 特征转换的组合
在《使用sklearn优雅地进行数据挖掘》一文中,我们看到一个基本的数据挖掘场景:
特征转换行为通常是流水线型和并行型结合的。所以,我们考虑重新设计流水线处理类Pipeline和并行处理类FeatureUnion,使其能够根据不同的特征转换类,记录下转换行为“日志”。“日志”的表示形式也是重要的,由上图可知,集成后的特征转换过程呈现无环网状,故使用网络来描述“日志”是合适的。在网络中,节点表示特征,有向连线表示特征转换。
为此,我们新增两个类型Feature和Transfrom来构造网络结构,Feature类型表示网络中的节点,Transform表示网络中的有向边。python的networkx库可以很好地表述网络和操作网络,我这是要重新造轮子吗?其实并不是,现在考虑代表新特征的节点怎么命名的问题,显然,不能与网络中任意节点同名,否则会发生混淆。然而,由于sklearn的训练过程存在并行过程(线程),直接使用network来构造网络的话,将难以处理节点重复命名的问题。所以,我才新增两个新的类型来描述网络结构,这时网络中的节点名是可以重复的。最后,对这网络进行广度遍历,生成基于networkx库的网络,因为这个过程是串行的,故可以使用“当前节点数”作为新增节点的序号了。
动了真心的女人有哪些特征?
动了真心的女人,有这一个特征:三不主动01.有人是这么形容和中年女人在一起的生活的:就像是摆在生活中最基本的那些东西,炒菜放点油,淡了加些盐,浅了洒点酱,调味滴些醋,渴了喝点茶,她总是会调节两人的相处,让你感受到恰到好处的温柔。大概,是因为大多数中年女人都经历过了爱情的酸甜苦...
越界男女之谁动了我的老公电子书txt全集下载
内容预览:越界男女之谁动了我的老公如此说来我只能怪罪酒,怪罪她的不知,怪罪老天爷造人刻意给男人安排了某种生理特征?那这事儿就真能这么过去么?我相当相当的怀疑。再退一步讲,就算我原谅了杨树,我们今后的生活就真的会幸福么?这件事就真的能从我记忆力彻底的被遗忘掉么?而他,就真的会...
哪些特征表明了你已经喜欢上一个人?
3、总想着为对方做点什么事情 喜欢一个人,就会愿意把自己拥有的好的东西都分享给对方,总想着为对方做什么事情。比如,看到对方遇到了什么问题,我哪怕是牺牲自己的工作时间,得罪领导,也一定想着怎么样才能帮助对方,好帮他解决眼前的难题。比如,我逛街的时候,看到了一样东西,觉得很适合他,虽然很...
骨子里不正经的女人特征
一般情况下,女人都有着羞涩之心;如果跟一个陌生的男人在一起,是说不了几句话的;可是一个骨子里不正经的女人,你一定会发现,女人跟一个陌生的男人在一起,特别的能聊;好像跟男人是多年未见的朋友一样,天南地北,可以跟男人聊得不易乐乎;这样的女人,其实就是因为骨子里不正经,所以她见到谁,都是熟人;见到了谁...
两个人互相暗恋有什么特征?
1、互相特别关心 我们都有暗恋的经历,喜欢一个人的时候,我们不自觉地关心对方,很关心对方的一举一动,想知道ta在干什么?和谁在一起?吃得好吗?下雨了,带伞了吗?开心吗?最近发生的事情对ta有什么影响?喜欢的话自然会在意对方。如果对方也同样在意你的话,那就迈出一步,赶快去官宣吧。2、...
鲁滨孙深深的打动了我六百字
一艘英国船来到该岛附近,鲁滨逊帮助船长制服了叛乱的水手,才返回英国.这时他父母双亡,鲁滨逊收回了他巴西庄园的全部收益.并把一部分赠给那些帮助过他的人们,包括他在岛上的奴隶. 小说赋予了鲁滨逊种种人类优良的品质,像勇敢.智慧.意志坚强和挚爱劳动,并使他具有一个“理想的”资产者所应有的一切特征:...
一个女生,上次我把她笔袋碰掉了,她问我赔钱,动了我一下脸蛋,她又说算...
其三:性。成长的我们,是无法抑制住对性的好奇害怕等等,这是个自然过程不要觉得性成熟的一些外表特征会被人嘲笑什么的。其四:感情。友情,青春期的少年都有自己的朋友了,难免摩擦,你要相信对你好的人不会一直对你说好话。爱情,有一种名为潘多拉的心里,越不让做的事情越是想做,大人一直要求不...
通过动作描写表现人物特质的作文有哪些。急急急
描写人物富有特征性的动作,以表现人物的性格、品质、身份、地位、处境、状态,叫做动作描写。三、动作描写的作用材料:爸爸气极了,一把把我从床上拖起来,我的眼泪就流出来了。爸爸左看右看,结果从桌上抄起鸡毛掸子倒转来拿,藤鞭子在空中一抡,就发出咻咻的声音,我挨打了!爸爸把我从床头打到床角,从床上打到床...
《我叫刘金凤》服化道惹争议,到底是谁动了我的国风审美?
称早就该下架了,严重影响了孩子的身心健康和价值观的形成。一味追求日韩式,只会脱离群众。电视虽然也是一种娱乐产品,但也承载着重要的使命和责任。不能只关注娱乐而忽视社会责任,所以不能被大众容忍。以上就是对《我叫刘金凤》服化道惹争议,到底是谁动了我的国风审美这个问题的解答。
我的第一本恐龙百科:三叠纪目录
恐龙的分类依据多种特征,其中包括骨骼结构、牙齿形状、以及化石的特定部分,如尾巴或脊椎。然而,提及通过“屁股”来区分恐龙可能是指通过研究恐龙的骨骼结构,特别是尾椎,来了解其物种属性和行为习惯。例如,某些恐龙的尾巴可能较长且坚硬,以增强其平衡或作为防御工具。谁动了我的化石?化石的被盗和非法...