sklearn二分类one hot编码
时间: 2023-05-26 08:06:06 浏览: 147
one-hot编码
sklearn中的OneHotEncoder类可以将分类变量转换成one-hot编码的形式,使得机器学习算法能够更好地处理这些变量。以下是一个简单的例子:
```python
from sklearn.preprocessing import OneHotEncoder
import numpy as np
# 构造样本数据
X = np.array([['Male', 1], ['Female', 3], ['Male', 2], ['Female', 4]])
# 创建OneHotEncoder对象
encoder = OneHotEncoder()
# 将X转换成one-hot编码的形式
one_hot_X = encoder.fit_transform(X)
# 查看编码后的结果
print(one_hot_X.toarray())
```
输出结果:
```
array([[0., 1., 1., 0., 0., 0.],
[1., 0., 0., 0., 0., 1.],
[0., 1., 0., 1., 0., 0.],
[1., 0., 0., 0., 1., 0.]])
```
可以看到,X中有两个分类变量:性别和年龄段。OneHotEncoder将这两个变量转换成了one-hot编码的形式,其中每个不同的取值都对应着一个新的特征。例如,性别变量有两个取值(Male和Female),因此被转换成了两个新的特征,分别表示Male和Female。同理,年龄段变量有四个取值(1、2、3、4),因此被转换成了四个新的特征,分别表示这四个取值。每个样本的one-hot编码都是由这些新特征的取值组成的。
阅读全文