在《定量变量和定性变量的转换(Transform of Quantitative & Qualitative Variables)》一文中,我们可以看到虚拟变量(Dummy Variable)与独热编码( One Hot Encoding)非常相似,其不同之处在于:在虚拟编码方案中,当特征具有 m 个不同类别标签时,我们将得到 m-1 个二进制特征,作为基准的特征被完全忽略;而在独热编码方案中,我们将得到个二进制特征。

可以看到,独热编码( 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)的更多相关文章

  1. OneHotEncoder独热编码和 LabelEncoder标签编码

    学习sklearn和kagggle时遇到的问题,什么是独热编码?为什么要用独热编码?什么情况下可以用独热编码?以及和其他几种编码方式的区别. 首先了解机器学习中的特征类别:连续型特征和离散型特征 拿到 ...

  2. 数据预处理:独热编码(One-Hot Encoding)和 LabelEncoder标签编码

    一.问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 离散特征的编码分为两种情况: 1.离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one- ...

  3. 数据预处理之独热编码(One-Hot Encoding)(转载)

    问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male", "female"] ["from ...

  4. 机器学习:数据预处理之独热编码(One-Hot)

    前言 ———————————————————————————————————————— 在机器学习算法中,我们经常会遇到分类特征,例如:人的性别有男女,祖国有中国,美国,法国等.这些特征值并不是连续的 ...

  5. One-Hot独热编码

    One-Hot独热编码 Dummy Encoding VS One-Hot Encoding二者都可以对Categorical Variable做处理,定性特征转换为定量特征,转换为定量特征其实就是将 ...

  6. 数据预处理之独热编码(One-Hot):为什么要使用one-hot编码?

    一.问题由来 最近在做ctr预估的实验时,还没思考过为何数据处理的时候要先进行one-hot编码,于是整理学习如下:  在很多机器学习任务如ctr预估任务中,特征不全是连续值,而有可能是分类值.如下: ...

  7. 【转】数据预处理之独热编码(One-Hot Encoding)

    原文链接:http://blog.csdn.net/dulingtingzi/article/details/51374487 问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. ...

  8. 机器学习实战:数据预处理之独热编码(One-Hot Encoding)

    问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male", "female"] ["from ...

  9. 独热编码OneHotEncoder简介

    在分类和聚类运算中我们经常计算两个个体之间的距离,对于连续的数字(Numric)这一点不成问题,但是对于名词性(Norminal)的类别,计算距离很难.即使将类别与数字对应,例如{'A','B','C ...

随机推荐

  1. 在部署 C#项目时转换 App.config 配置文件

    问题 部署项目时,常常需要根据不同的环境使用不同的配置文件.例如,在部署网站时可能希望禁用调试选项,并更改连接字符串以使其指向不同的数据库.在创建 Web 项目时,Visual Studio 自动生成 ...

  2. C ProcessAsUser

    class Interop { public static void CreateProcess(string app, string path) { bool result; IntPtr hTok ...

  3. python class 中__next__用法

    class A(): def __init__(self,b): self.b=b # def __iter__(self): # 这个函数可以用,表示迭代标志,但也可以省略 # return sel ...

  4. 必须修改getdate()格式,判断是否处于两个日期之间

    ), ) ), )<= 周次结束日期 ), ) -- 这样的格式结果为:2019-09-01 --如果不进行转换,查出来含有日期和时间,否则两个边界无法查询出来

  5. 单词eschaunge交易所eschaunge交换

    Exchange of one person or thing for another; reciprocal giving and receiving: (a) of prisoners of wa ...

  6. 物料管理混乱怎么办?APS系统帮你实现高效运输

    APS系统可以高效地管理.控制分销中心并保证产品可订货.可盈利.能力可用.分销计划帮助企业分析原始信息,然后企业能够确定如何优化分销成本或者根据生产能力和成本提高客户服务水平. 今天成功的企业为了取得 ...

  7. nepenthes用法

    安装 # apt-get install nepenthes 配置文件 # vi submit-file.conf submit-file { path "/var/lib/nepenthe ...

  8. Redis中如何发现并优化big key?

    Redis中的大key一直是重点需要优化的对象,big key既占用比较多的内存,也可能占用比较多的网卡资源,造成redis阻塞,因此我们需要找到这些big key进行优化 一.寻找big key 通 ...

  9. k8s之pod与Pod控制器

    k8s中最为重要的基础资源,pod,pod controller,service pod controller类型有多种需要向控制器赋值之后使用: kubectl命令使用 kubectk get no ...

  10. 2013.6.29 - OpenNER第九天

    上午看计算机网络,下午做计算机实验.晚上写计算机实验报告,还有OpenStack的实验报告. 写完之后跟师兄讨论了一下OpenNER的事情,觉得OpenNE很像是化学物质,里面很多都可以构成原子团,原 ...