特征工程之类别特征 处理方法介绍

来源:互联网 发布:java jdk 1.6 32位 编辑:程序博客网 时间:2024/06/14 05:39

当类别特征仍保持原始形式时,其取值来自所有可能取值构成的集合而不是一个数字,故不能作为输入。

当各个取值之间是没有顺序关系的并列关系,这样的类别特征称为 名义(nominal)变量。相反,那些存在顺序关系的(比如评级,评级5的会好于评级1的),则被称为 有序(ordinal)变量。

将类别特征表示为数字形式,常可借助 1-of-k 这样的编码方法进行。

假设变量的取值有 k 个,如果对这些值用 1 到 k 编序,则可用长度为 k 的二元向量来表示一个变量的值。在这样的向量里,该取值所对应的序号所在的元素为1,其他元素均为0.

>>>labels = ['A+','A-','B+','B-','C+','C-','D+','D-']

>>>binary_code = [0]*len(labels)>>>binary_code[labels.index('B+')] = 1

>>>binary_code[0.,0.,1.,0.,0.,0.,0.,0.]  

# 根据 类别 B+ 获得其对应的二元向量编码  

# [ 0., 0., 1., 0., 0., 0., 0., 0.]

0 0
原创粉丝点击