特征工程之离散变量处理
使用sklearn训练模型,只能输入数值型变量。因此需要对数据集中的非数值型离散变量进行处理,非数值型离散变量分为两类:有序型与无序型
一、有序型离散变量处理
什么叫有序型离散变量呢,比如说衣服尺码,M、L、XL;学历:小学、初中、高中、本科;这些都属于有序型变量。
在上图数据表格中,size及classlabel则为有序型变量,自定义有序型字典表,进行相关映射即可:
二、无序型离散变量处理
衣服的颜色,风向、人员类别这些都属于无序型变量,如果转换成有序型数值代入模型会对建模结果造成影响,因此对于无序型变量需要做独热编码或者哑变量处理
(1)独热编码
独热编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。 独热编码是分类变量作为二进制向量的表示,这首先要求将分类值映射到整数值,然后再将每个整数值表示为二进制向量。
具体操作如下:首先将无序型变量color利用LabelEncoder()方法映射为数值
再将整数型数值进行独热编码
(2)哑变量处理
在模型中引入多个虚拟变量时,虚拟变量的个数应按下列原则确定: 如果有m种互斥的属性类型,在模型中引入(m-1)个虚拟变量。 例如,性别有2个互斥的属性,引用2-1=1个虚拟变量;再如,文化程度分小学、初中、高中、大学、研究生5类,引用4个虚拟变量。
pandas中的get_dummies方法来创建哑特征,get_dummies默认会对DataFrame中所有字符串类型的列进行独热编码:
在实际特征工程处理过程中,使用LabelEncoder()+OneHotEncoder()方式,sklearn能够将训练集属性记录,并可以采用transform()方法直接作用于待加入模型的测试集。
什么情况下用都热编码:
- 用:独热编码用来解决类别型数据的离散值问题,
- 不用:将离散型特征进行one-hot编码的作用,是为了让距离计算更合理,但如果特征是离散的,并且不用one-hot编码就可以很合理的计算出距离,那么就没必要进行one-hot编码。 有些基于树的算法在处理变量时,并不是基于向量空间度量,数值只是个类别符号,即没有偏序关系,所以不用进行独热编码。 Tree Model不太需要one-hot编码: 对于决策树来说,one-hot的本质是增加树的深度。
总的来说,要是one hot encoding的类别数目不太多,建议优先考虑。
转载于:https://www.cnblogs.com/dearL/p/9551726.html
特征工程之离散变量处理相关推荐
- python特征工程有序变量处理_特征工程之离散变量处理
使用sklearn训练模型,只能输入数值型变量.因此需要对数据集中的非数值型离散变量进行处理,非数值型离散变量分为两类:有序型与无序型 一.有序型离散变量处理 什么叫有序型离散变量呢,比如说衣服尺码, ...
- 「特征工程」之零基础入门数据挖掘
Datawhale 作者:吴忠强,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些角度做数据清洗,如何对特征进行增删,如何使用PCA降维技术等. 特征工 ...
- 常用特征工程方法总结
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些 ...
- 电信用户流失预测案例(2)(特征工程)
[Kaggle]Telco Customer Churn 电信用户流失预测案例 第二部分导读 在上一部分中,我们已经完成了对数据集背景解读.数据预处理与探索性分析.在数据背景解读中,我们介绍了数据 ...
- 金融风控--申请评分卡模型--特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融风
金融风控-->申请评分卡模型-->特征工程(特征分箱,WOE编码) 标签: 金融特征分箱-WOE编码 2017-07-16 21:26 4086人阅读 评论(2) 收藏 举报 分类: 金融 ...
- 专栏 | 基于 Jupyter 的特征工程手册:特征选择(三)
作者:陈颖祥.杨子晗 编译:AI有道 数据预处理后,我们生成了大量的新变量(比如独热编码生成了大量仅包含0或1的变量).但实际上,部分新生成的变量可能是多余:一方面它们本身不一定包含有用的信息,故无法 ...
- 专栏 | 基于 Jupyter 的特征工程手册:特征选择(二)
作者:陈颖祥.杨子晗 编译:AI有道 数据预处理后,我们生成了大量的新变量(比如独热编码生成了大量仅包含0或1的变量).但实际上,部分新生成的变量可能是多余:一方面它们本身不一定包含有用的信息,故无法 ...
- 【零基础入门数据挖掘】-特征工程
Datawhale 作者:吴忠强,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些角度做数据清洗,如何对特征进行增删,如何使用PCA降维技术等. 特征工 ...
- 用户特征工程详细解读
在网上找到了美团一位叫付晴川同学些的ppt,里面有一幅描述用户特征工程的图,感觉总结得还是比较到位的.现在把图片贴出来: 这张图将用户特征工程里的大面基本都囊括了.因为ppt本身做得比较简单,现在我 ...
最新文章
- R语言ggplot2可视化:可视化分组的小提琴图(violin plot)并在分组小提琴内部嵌入箱图(box plot)
- WINCE Launch函数分析
- py脚本得到Python的版本
- JVM调优技巧与经验
- 跟踪React流–将Spring Cloud Sleuth与Boot 2结合使用
- 【ZOJ - 4024】Peak(模拟,水题)
- 【Python】http.client库的用法
- 欧盟网络安全局发布《供应链攻击威胁全景图》报告(上)
- swift4.1 系统学习十 函数
- 【动态规划】leetcode 53:最大子数组和
- junit mockito_Mockito存根异常– JUnit,TestNG
- php libiconv close_PHP出现undefined reference to `libiconv' 错误的解决方法
- C语言顺序表的12个基本操作(增删改查等)
- python数据透视表对各列统计_python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)...
- 游戏服务器背包系统,Unity MMORPG 背包系统如何设计
- 米勒-拉宾质数判断证明
- 虚拟化技术 、 Win系统安装
- 飞冰 - ICE Design Pro 使用指南
- i217lm网卡驱动linux,【电脑不能上网怎么安装网卡驱动】i217lm网卡驱动xp
- urllib和urllib2的区别和使用