特征工程——特征分类及不同类特征的处理方式
2016-12-03 15:36
288 查看
特征分类
对特征进行分类,对于不同的特征应该有不同的处理方法。根据不同的分类方法,可以将特征分为
(1)Low
level特征和High level特征。
Low
level特征——较低级别的特征,主要是原始特征,不需要或者需要非常少的人工处理和干预。
例如文本特征中的词向量特征,图像特征中的像素点,用户id,商品id等。Low
level特征一般维度比较高,不能用过于复杂的模型。
High
level特征——经过较复杂的处理,结合部分业务逻辑或者规则、模型得到的特征。
例如人工打分,模型打分等特征,可以用于较复杂的非线性模型。Low
level 比较针对性,覆盖面小。长尾样本的预测值主要受high level特征影响。 高频样本的预测值主要受low level特征影响。
(2)稳定特征与动态特征。
稳定特征——变化频率(更新频率)较少的特征例如评价平均分,团购单价格等,在较长的时间段内都不会发生变化。
动态特征——更新变化比较频繁的特征,有些甚至是实时计算得到的特征
例如距离特征,2小时销量等特征。或者叫做实时特征和非实时特征。
针对两类特征的不同可以针对性地设计特征存储和更新方式
例如
对于稳定特征,可以建入索引,较长时间更新一次,如果做缓存的话,缓存的时间可以较长。
对于动态特征,需要实时计算或者准实时地更新数据,如果做缓存的话,缓存过期时间需要设置的较短。
(3)二值特征、连续特征、枚举特征。
二值特征——主要是0/1特征,即特征只取两种值:0或者1例如用户id特征:目前的id是否是某个特定的id,词向量特征:某个特定的词是否在文章中出现等等。
连续值特征——取值为有理数的特征,特征取值个数不定,例如距离特征,特征取值为是0~正无穷。
枚举值特征——主要是特征有固定个数个可能值,例如今天周几,只有7个可能值:周1,周2,...,周日。
在实际的使用中,我们可能对不同类型的特征进行转换,例如将枚举特征或者连续特征处理为二值特征。
枚举特征处理为二值特征技巧:
将枚举特征映射为多个特征,每个特征对应一个特定枚举值,例如今天周几,可以把它转换成7个二元特征:今天是否是周一,今天是否是周二,...,今天是否是周日。
连续值处理为二值特征方法:
先将连续值离散化(后面会介绍如何离散化),再将离散化后的特征切分为N个二元特征,每个特征代表是否在这个区间内。
特征处理与分析
特征分类后要对特征进行处理包括1.特征归一化,离散化,缺省值处理。2.特征降维方法。3.特征选择方法等。——主要用于单个特征的处理。
归一化
不同的特征有不同的取值范围,在有些算法中,例如线性模型或者距离相关的模型像聚类模型、knn模型等,特征的取值范围会对最终的结果产生较大影响,例如二元特征的取值范围为[0,1],而距离特征取值可能是[0,正无穷),在实际使用中会对距离进行截断,例如[0,3000000],但是这两个特征由于取值范围不一致导致了模型可能会更偏向于取值范围较大的特征,为了平衡取值范围不一致的特征,需要对特征进行归一化处理,将特征取值归一化到[0,1]区间。
常用的归一化方法
包括
1.函数归一化
通过映射函数将特征取值映射到[0,1]区间,例如最大最小值归一化方法,是一种线性的映射。还有通过非线性函数的映射,例如log函数等。
2.分维度归一化
可以使用最大最小归一化方法,但是最大最小值选取的是所属类别的最大最小值,即使用的是局部最大最小值,不是全局的最大最小值。
3.排序归一化
不管原来的特征取值是什么样的,将特征按大小排序,根据特征所对应的序给予一个新的值。
离散化
在上面介绍过连续值的取值空间可能是无穷的,为了便于表示和在模型中处理,需要对连续值特征进行离散化处理。
常用的离散化方法
包括
1.等值划分
将特征按照值域进行均分,每一段内的取值等同处理。例如某个特征的取值范围为[0,10],我们可以将其划分为10段,[0,1),[1,2),...,[9,10)。
2.等量划分
根据样本总数进行均分,每段等量个样本划分为1段。例如距离特征,取值范围[0,3000000],现在需要切分成10段,如果按照等比例划分的话,会发现绝大部分样本都在第1段中。使用等量划分就会避免这种问题,最终可能的切分是[0,100),[100,300),[300,500),..,[10000,3000000],前面的区间划分比较密,后面的比较稀疏。
缺省值处理
有些特征可能因为无法采样或者没有观测值而缺失,例如距离特征,用户可能禁止获取地理位置或者获取地理位置失败,此时需要对这些特征做特殊的处理,赋予一个缺省值。缺省值如何赋予,也有很多种方法。例如单独表示,众数,平均值等。
另外一篇关于处理“特征工程之连续特征与离散特征处理方法介绍”见此文
原文:http://blog.csdn.net/shenxiaoming77/article/details/51543724
相关文章推荐
- MFC消息分类和处理方式
- 事件处理之一:两种方式:监听器与回调 分类: H1_ANDROID 2013-10-31 10:26 3250人阅读 评论(0) 收藏
- 从数据预处理到特征工程
- 特征工程与文本处理
- 特征工程(3)--特征处理
- 从文本分类问题中的特征词选择算法追踪如何将数学知识,数学理论迁移到实际工程中去
- 金融风控-->申请评分卡模型-->特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融风
- Eclipse设置文本格式为UTF-8/eclipse 工程平铺展开方式,如何将代码工程进行分类
- Spark2.0 特征提取、转换、选择之二:特征选择、文本处理,以中文自然语言处理(情感分类为例)
- 【特征工程】2 机器学习中的数据清洗与特征处理综述
- 工业水处理工程处理方法分类
- 总结数据挖掘预测分类中的样本筛选和特征处理
- 总结数据挖掘预测分类中的样本筛选和特征处理
- [ 前端工程 ] 静态资源缓存的处理方式
- 特征工程之类别特征 处理方法介绍
- Mavne工程出现叹号时的处理方式
- Hadoop和传统大数据处理方式的差别 分类: 杂文 2014-12-25 17:36 90人阅读 评论(0) 收藏
- MFC消息分类及处理方式
- 特征工程、特征处理,数据清洗
- 特征工程之连续特征与离散特征处理方法介绍