Python的虚拟变量及因子型变量构建

什么是虚拟变量和因子型数据

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

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

举例说明,我想研究收入和学历的关系,那么学历包含:小学、初中、高中、本科、研究生、博士等。那学历这个变量包含的类容,咱们可以称为虚拟变量,用1,2,3,4,5,6来进行表示。

那虚拟变量、哑变量、虚设变量、名义变量等其实是一个说法。

在R语言中,以上的1,2,3,4,5,6称为层次水平因子factor,而学历就叫做因子型变量。

注意:虚拟变量的值必须是大于等于2个,否则没有意义。

Python虚拟变量和因子型数据转换

同样,数据样本中有一类特征属性彼此是平行的关系,不能简单的以数值或字符赋予其含义,也不参加大小的运算。例如 性别、学历、评级等,面对这类问题,可以通过构建哑变量来解决。以疾病的病种类型为例进行如下所示:

例如含有三个因子的特征可以将其转化为三列每列都只有0-1构成的向量。这样的向量就是哑变量。下面来看一下再python中的实现

import pandas as pd
testdata = pd.read_csv("C://Users//TD//Desktop//1.csv")
from sklearn import preprocessing
testdata["疾病名称"].head()
0    败血症(成人)
1    败血症(成人)
2    脑出血和脑梗死
3    脑出血和脑梗死
4    脑出血和脑梗死
Name: 疾病名称, dtype: object

factor=pd.get_dummies(testdata["疾病名称"],prefix='疾病名称')
factor
   疾病名称_创伤性颅脑损伤  疾病名称_前列腺增生  ...  疾病名称_败血症(成人)  疾病名称_高血压病(成人)
0               0           0  ...             1              0
1               0           0  ...             1              0
2               0           0  ...             0              0

于是就将上述的内容直接转化为哑变量,带入Python模型中进行分析。

你可能感兴趣的:(笔记,Python)