数据预处理系列:(六)标签特征二元化

声明:版权所有,转载请联系作者并注明出处 http://blog.csdn.net/u013719780?viewmode=contents


博主简介:风雪夜归子(英文名: Allen),机器学习算法攻城狮,喜爱钻研Machine Learning的黑科技,对Deep Learning和Artificial Intelligence充满兴趣,经常关注kaggle数据挖掘竞赛平台,对数据、Machine Learning和Artificial Intelligence有兴趣的各位童鞋可以一起探讨哦,个人CSDN博客: http://blog.csdn.net/u013719780?viewmode=contents


标签特征二元化


在这个主题中,我们将用另一种方式来演示分类变量。有些时候只有一两个分类特征是重要的,这时就要避免多余的维度,如果有多个分类变量就有可能会出现这些多余的维度。

Getting ready

处理分类变量还有另一种方法,不需要通过OneHotEncoder,我们可以用LabelBinarizer。这是一个阈值与分类变量组合的方法。演示其用法之前,让我们加载iris数据集:

In [1]:
from sklearn import datasets as d
iris = d.load_iris()
target = iris.target


How to do it...

导入LabelBinarizer()创建一个对象:

In [2]:
from sklearn.preprocessing import LabelBinarizer
label_binarizer = LabelBinarizer()

现在,将因变量的值转换成一个新的特征向量:

In [3]:
new_target = label_binarizer.fit_transform(target)

让我们看看new_targetlabel_binarizer对象的结果:

In [4]:
new_target.shape
Out[4]:
(150, 3)
In [5]:
new_target[:5]
Out[5]:
array([[1, 0, 0],
       [1, 0, 0],
       [1, 0, 0],
       [1, 0, 0],
       [1, 0, 0]])
In [6]:
new_target[-5:]
Out[6]:
array([[0, 0, 1],
       [0, 0, 1],
       [0, 0, 1],
       [0, 0, 1],
       [0, 0, 1]])
In [9]:
label_binarizer.classes_
Out[9]:
array([0, 1, 2])
 
    

How it works...

iris的因变量基数为3,就是说有三种值。当LabelBinarizer N×1 N×1向量转换成 N×C N×C矩阵时, C C就是 N×1 N×1向量的基数。需要注意的是,当label_binarizer处理因变量之后,再转换基数以外的值都是[0,0,0]

In [15]:
label_binarizer.transform([4])
Out[15]:
array([[0, 0, 0]])
 
    

There's more...

0和1并不一定都是表示因变量中的阳性和阴性实例。例如,如果我们需要用1000表示阳性值,用-1000表示阴性值,我们可以用label_binarizer处理:

In [22]:
label_binarizer = LabelBinarizer(neg_label=-1000, pos_label=1000)
label_binarizer.fit_transform(target)[:5]
Out[22]:
array([[ 1000, -1000, -1000],
       [ 1000, -1000, -1000],
       [ 1000, -1000, -1000],
       [ 1000, -1000, -1000],
       [ 1000, -1000, -1000]])

阳性和阴性值的唯一限制是,它们必须为整数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值