class sklearn.preprocessing.
LabelBinarizer
(neg_label=0, pos_label=1, sparse_output=False)
| 设定或者初始化二进制分类器 |
| 设定或者初始化二进制分类器并开始对y进行转换 |
| 获取参数,不常用 |
| 反向转换,即复原数据 |
| 设定参数,不常用 |
| 转换 |
binarizer表示的是将类别用二进制编码表示,而不是将数据分成两类的意思。
一、fit_transform()函数(常用)
fit_transform()函数:直接根据label本身有多少类,然后使用独热编码,把label二进制化。
>>> lb = preprocessing.LabelBinarizer()
>>> lb.fit_transform(['yes', 'no', 'no', 'yes'])
array([[1],
[0],
[0],
[1]])
一、fit函数
1.传入一维数组
>>> from sklearn import preprocessing
>>> lb = preprocessing.LabelBinarizer()
>>> lb.fit([1, 2, 6, 4, 2])
LabelBinarizer()
#这里fit是初始化,意思是这是一个关于1,2,4,6总共四类的分类器
#每个类使用独热编码
#[1,0,0,0]表示第一类
#[0,1,0,0]表示第二类
#[0,0,0,0]表示不属于任何一类
>>> lb.classes_
array([1, 2, 4, 6])
>>> lb.transform([1, 6])
array([[1, 0, 0, 0],
[0, 0, 0, 1]])
2.传入二维数组
>>> import numpy as np
>>> lb.fit(np.array([[0, 1, 1], [1, 0, 0]]))
LabelBinarizer()
>>> lb.classes_
array([0, 1, 2])
>>> lb.transform([0, 1, 2, 1])
array([[1, 0, 0],
[0, 1, 0],
[0, 0, 1],
[0, 1, 0]])
传入的二维数组没有特别的意义,首先值必须是0,1,然后它的形状(n_samples, n_classes)它的列数代表了分类的数量n,且分类的数值一定是0,1,...,n-1