问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

谁动了我的特征

发布网友 发布时间: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、...

鲁滨孙深深的打动了我六百字

一艘英国船来到该岛附近,鲁滨逊帮助船长制服了叛乱的水手,才返回英国.这时他父母双亡,鲁滨逊收回了他巴西庄园的全部收益.并把一部分赠给那些帮助过他的人们,包括他在岛上的奴隶. 小说赋予了鲁滨逊种种人类优良的品质,像勇敢.智慧.意志坚强和挚爱劳动,并使他具有一个“理想的”资产者所应有的一切特征:...

一个女生,上次我把她笔袋碰掉了,她问我赔钱,动了我一下脸蛋,她又说算...

其三:性。成长的我们,是无法抑制住对性的好奇害怕等等,这是个自然过程不要觉得性成熟的一些外表特征会被人嘲笑什么的。其四:感情。友情,青春期的少年都有自己的朋友了,难免摩擦,你要相信对你好的人不会一直对你说好话。爱情,有一种名为潘多拉的心里,越不让做的事情越是想做,大人一直要求不...

通过动作描写表现人物特质的作文有哪些。急急急

描写人物富有特征性的动作,以表现人物的性格、品质、身份、地位、处境、状态,叫做动作描写。三、动作描写的作用材料:爸爸气极了,一把把我从床上拖起来,我的眼泪就流出来了。爸爸左看右看,结果从桌上抄起鸡毛掸子倒转来拿,藤鞭子在空中一抡,就发出咻咻的声音,我挨打了!爸爸把我从床头打到床角,从床上打到床...

《我叫刘金凤》服化道惹争议,到底是谁动了我的国风审美?

称早就该下架了,严重影响了孩子的身心健康和价值观的形成。一味追求日韩式,只会脱离群众。电视虽然也是一种娱乐产品,但也承载着重要的使命和责任。不能只关注娱乐而忽视社会责任,所以不能被大众容忍。以上就是对《我叫刘金凤》服化道惹争议,到底是谁动了我的国风审美这个问题的解答。

我的第一本恐龙百科:三叠纪目录

恐龙的分类依据多种特征,其中包括骨骼结构、牙齿形状、以及化石的特定部分,如尾巴或脊椎。然而,提及通过“屁股”来区分恐龙可能是指通过研究恐龙的骨骼结构,特别是尾椎,来了解其物种属性和行为习惯。例如,某些恐龙的尾巴可能较长且坚硬,以增强其平衡或作为防御工具。谁动了我的化石?化石的被盗和非法...

平动的特征 动效的三个重要特征 认识的能动反映的特点 名动形的特征 多动症的基本特征是 我国最本质的特征 我国法律的本质特征 我国民族关系的本质特征是 简述我国民法的特征
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
形容春天的成语有哪些形容春天的成语精选 形容春天美好的成语精选84句 我是一名扬大广陵的学生,想要转系到会计班,请问难度大不大,具体怎么转... 2010专转本:本人理科考了251,能上到扬大广陵学院么 ? 2011专转本,被扬大广陵录取,汉语言文学专业,请问在哪个校区上课,住宿... 有谁知道今年扬大广陵专转本电子工程系的最低和最高录取分数线的?谢谢... 我是今年转本的到扬大广陵土木工程的学生,(虽然还没录取,但是考了309... 转本转到扬大广陵的学生住什么地方啊? 2012年一共有多少天假期? 已知a1为2000年2月22日,求B1为至今已经有多少个年零多少个月多少天?求... SELECT语句格式中 符号[ ]的含义是 我用的MYSQL5.7,书写select*from tb_model where pname=‘ ’and roleid=?要报SQL语法错误,求高手解答。 哪儿有专业的产后减肥瑜伽视频下载呀? 产后体重降不下来原因 产后瑜伽减肥最好每次做多长时间呢? 产后恢复瑜伽教程 练瑜伽可以减肥吗 产后瑜伽私教要上几节课 产后想在短时间内减掉大肚子和大粗腿,有什么值得推荐的好方法吗? 平板电脑换不同型号的屏幕可以吗?同一个尺寸的 平板屏幕能通用吗? 同尺寸,不同型号的液晶显示内屏可以相互更换吗? 我想问下各位平板电脑内屏幕坏了能不能换个其他的屏幕,不是原装的行不行 平板换个内屏多少钱啊? 华为平板换内屏大概多少钱? 换一个平板电脑屏幕要多少钱 平板电脑换显示屏大概多少钱 苹果平板电脑换屏大概要多少钱 平板屏幕两边不同颜色(如图) 企业微信里找不到金叶道了 企业微信接中的工作消息 MVC上面的例子,请问下面遍历数组的时候Model 是个数组么??为什么可以遍历它? django 多表查询,如何让 select 语句包含多表的所有字段? vb.net combobox用法 有关SELECT中FROM Select的问题 sql模糊查询,query.setParameter("name", "%" + name + "%");这段应该怎么理解 sql 如何把一个查询结果当作一个表来查询? 在Access一个表中某个字段输入一个值,这个值在另一个表中的某个字段没... hql语句和sql语句相似,可以像sql语句一样查询全部属性,例如select u.* from SQLite用INTERSECT求两个查询结果的并 SQL中如何显示COUNT结果为0的行 在select 中的别名 能做 条件吗 ? pl/sql developer 中,两表相减,保存结果 多层次的人员层级架构,下属层级是不确定的,在sqlserver2005中怎么穷尽找到其所有下属呢? oracle语句 SQL建立多表连接的视图 mysql parametertype 传model怎么获取 如何在select下拉框设置滚动条 vivo手机锁屏密码忘记了怎么解开锁屏密码? vivo锁屏忘记了,忘记密码也忘记了怎么办? 马肉的做法