虚拟变量和独热编码的区别(Difference of Dummy Variable & One Hot Encoding)
在《定量变量和定性变量的转换(Transform of Quantitative & Qualitative Variables)》一文中,我们可以看到虚拟变量(Dummy Variable)与独热编码( One Hot Encoding)非常相似,其不同之处在于:在虚拟编码方案中,当特征具有 m 个不同类别标签时,我们将得到 m-1 个二进制特征,作为基准的特征被完全忽略;而在独热编码方案中,我们将得到 m 个二进制特征。
可以看到,独热编码( One Hot Encoding)比虚拟变量(Dummy Variable)多生成了一个变量,这对模型有什么影响呢?之前在《虚拟变量陷阱(Dummy Variable Trap)》一文中,我们阐述了使用独热编码会导致共线性问题,也就是自变量之间存在高度相关关系,从而使模型参数估计不准确。(另外,独热编码的截距表示均值,回归系数是与均值之间的差距;而虚拟变量的截距是参照类的值,回归系数表示与参照类的差距。)因此,如果线性模型有截距项,那么请使用虚拟变量;如果线性模型无截距项,那么使用独热编码。此外,如果线性模型有截距项,但在加了正则化之后,也可以使用独热编码,因为这相当于约束了 w 的解的空间。
(注:为了模型稳定性的缘故,线性模型通常都是要有截距项的。)
除此之外,虚拟变量(Dummy Variable)与独热编码( One Hot Encoding)之间还有什么区别呢?1,如果有N个特征,已知前N-1个特征的特征值之后,第N个特征的特征值也就知道了,因此独热编码有冗余,虚拟变量没有冗余;2,独热编码可以直接从激活状态看出所对应的类别,而虚拟变量需要进行推论,因此独热编码比较直观,虚拟变量没有那么直观。
总结:如果使用正则化,那么推荐使用独热编码,因为regularization能够处理多余的自由度,使用正则化手段去约束参数,同时类别型变量的各个值的地位是对等的。如果不使用正则化,那么使用虚拟变量(这样多余的自由度都被统摄到截距项intercept里去了)。
参考:https://www.cnblogs.com/lianyingteng/p/7792693.html
虚拟变量和独热编码的区别(Difference of Dummy Variable & One Hot Encoding)的更多相关文章
- OneHotEncoder独热编码和 LabelEncoder标签编码
学习sklearn和kagggle时遇到的问题,什么是独热编码?为什么要用独热编码?什么情况下可以用独热编码?以及和其他几种编码方式的区别. 首先了解机器学习中的特征类别:连续型特征和离散型特征 拿到 ...
- 数据预处理:独热编码(One-Hot Encoding)和 LabelEncoder标签编码
一.问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 离散特征的编码分为两种情况: 1.离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one- ...
- 数据预处理之独热编码(One-Hot Encoding)(转载)
问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male", "female"] ["from ...
- 机器学习:数据预处理之独热编码(One-Hot)
前言 ———————————————————————————————————————— 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等.这些特征值并不是连续的 ...
- One-Hot独热编码
One-Hot独热编码 Dummy Encoding VS One-Hot Encoding二者都可以对Categorical Variable做处理,定性特征转换为定量特征,转换为定量特征其实就是将 ...
- 数据预处理之独热编码(One-Hot):为什么要使用one-hot编码?
一.问题由来 最近在做ctr预估的实验时,还没思考过为何数据处理的时候要先进行one-hot编码,于是整理学习如下: 在很多机器学习任务如ctr预估任务中,特征不全是连续值,而有可能是分类值.如下: ...
- 【转】数据预处理之独热编码(One-Hot Encoding)
原文链接:http://blog.csdn.net/dulingtingzi/article/details/51374487 问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. ...
- 机器学习实战:数据预处理之独热编码(One-Hot Encoding)
问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male", "female"] ["from ...
- 独热编码OneHotEncoder简介
在分类和聚类运算中我们经常计算两个个体之间的距离,对于连续的数字(Numric)这一点不成问题,但是对于名词性(Norminal)的类别,计算距离很难.即使将类别与数字对应,例如{'A','B','C ...
随机推荐
- java枚举enum总结大全
1.注意点 (1)枚举中的构造方法必须是private的. (2)枚举中可以定义抽象方法和一般方法,但枚举对象必须实现所有抽象方法. (3)枚举对象必须放在第一行. package classTwo0 ...
- K8S使用问题汇总
1,报错如下 Warning: kubectl apply should be used on resource created by either kubectl create --save-con ...
- 两个integer比较时为什么有时候会失效?
当数值不在 -128~127范围时就不会进行缓存操作,它会选择进行new integer()的操作.这样他们被分配到堆里面.[这个可以去查看integer.valueof()的源码].在用==或者!= ...
- 【转载】使用宝塔对Linux系统进行界面化管理操作
腾讯云服务器和阿里云服务器的Centos系统都是没有Linux系统的一个版本,Centos系统的操作都是在没有类似Windows图形化操作界面的黑框框命令窗口进行操作的,需要使用到很多Linux操作命 ...
- Flink入门 - 窗口函数
/* * ProcessWinFunOnWindow */ final StreamExecutionEnvironment streamExecutionEnvironment = StreamEx ...
- misc_register杂项设备
include/linux/miscdevice.h 这些字符设备不符合预先确定的字符设备范畴 设备主设备号10 struct miscdevice { int minor; //次设备号(如果设置为 ...
- 魅族手机使用应用沙盒一键修改imsi数据
较早前文章介绍了怎么在安卓手机上安装激活XPosed框架,XPosed框架的牛逼之处功能各位都介绍过,可以不修改apk的前提下,修改系统内核的参数,打比方在某些应用领域,各位需要修改手机的某个系统参数 ...
- Flask--配置文件
配置文件 配置文件的方式有很多,下面介绍两种: 第一种:根据全局变量实现 App.py from flask import Flask, session app = Flask(__name__) # ...
- Python的csv文件(csv模块)和ini文件(configparser模块)处理
Python的csv文本文件(csv模块)和ini文本文件(configparser模块)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.csv文件 1>.CSV文件 ...
- 【转载】.Net 大型分布式基础服务架构横向演变概述
原文:https://www.cnblogs.com/chejiangyi/p/5220217.html 一. 业务背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支 ...