码迷,mamicode.com
首页 > 其他好文 > 详细

【机器学习实战】回归常用技巧之虚拟变量

时间:2014-09-04 01:43:57      阅读:547      评论:0      收藏:0      [点我收藏+]

标签:机器学习   数据挖掘   虚拟变量   

虚拟变量 ( Dummy Variables) 又称虚设变量、名义变量或哑变量,用以反映质的属性的一个人工变量,是量化了的自变量,通常取值为0或1。引入哑变量可使线形回归模型变得更复杂,但对问题描述更简明,一个方程能达到俩个方程的作用,而且接近现实。


1、加法模型


比如现在需要根据身高和性别来回归人的体重,这里定义:

体重:weight

身高:height

性别:sex

由常识可知,体重、身高为连续型的数据值,而性别的取值只能是男或者女;这样如果进行回归时,性别属性将不能满足我们的回归特性。所以这里将采用虚拟变量的技术对性别进行表示。


对性别sex我们定义两个方法:

isMan:是否为男性,如果是男性则为1,否则为0

isWoman:是否为女性,如果是女性则为1,否认则为0


由此,我们可以将现行回归方程写成如下:

weight = a + b*height + c*isMan
这里我们只使用了sex方法的其中一个isMan方法,假设对于虚拟变量的取值有n个(这里为男、女),则在回归方程中可以只写n-1个(这里为isMan)。


对于以上的回归方程,我们可以分别求得a、b、c的值,但对于isMan的值分别是0或者1,所以c*isMan的值是c或者0,即对于以上的回归方程我们可以写成:

weight = (a+c) + b*height
或:

weight = (a+0) + b*height
所以,对于以上的模型,sex的值影响的是整个回归方程的截距,即模拟出来的回归方程是平行的,如下图。我们可以称为这个模型为虚拟变量的加法模型。
bubuko.com,布布扣



2、乘法模型


对于以上的模型,虚拟变量影响的是回归方程的截距,当然我们也可以建立模型,使得虚拟变量影响的是回归方程的斜率。

我们可以将回归方程写成这样:

weight = a + bh + c*isMan*h + d*isWoman*h
对于以上的回归方程,如果是男性的话:

weight = a + (b+c)*h
如果是女性的话:

weight = a + (b+d)*h
这样两条回归方程就会交与一点,如下图:

bubuko.com,布布扣

当然,我们也可以将加法和乘法模型一起使用,此时我们称为混合模型,这里就不进行细致的介绍了,如果以后接触到的话则再进行阐述。

【机器学习实战】回归常用技巧之虚拟变量

标签:机器学习   数据挖掘   虚拟变量   

原文地址:http://blog.csdn.net/wukongcode/article/details/39037271

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!