用python构建分类独热编码器
时间: 2024-01-26 11:47:47 浏览: 25
以下是一个简单的 Python 代码示例,用于构建分类独热编码器:
```python
import numpy as np
def one_hot_encode(labels):
"""
构建一个分类的独热编码器
输入:labels - 一维标签向量
输出:one_hot - 独热编码矩阵
"""
# 获取标签类别数
num_labels = len(np.unique(labels))
# 创建一个全为零的矩阵
one_hot = np.zeros((len(labels), num_labels))
# 独热编码
for i, label in enumerate(labels):
one_hot[i, label] = 1
return one_hot
```
这个函数接受一个一维标签向量,并返回一个独热编码矩阵。它使用 NumPy 库创建一个全为零的矩阵,然后对每个标签进行独热编码。最后,它返回独热编码矩阵。
例如,假设我们有以下标签向量:
```python
labels = np.array([0, 1, 2, 1, 0])
```
我们可以调用这个函数来获取独热编码矩阵:
```python
one_hot = one_hot_encode(labels)
print(one_hot)
```
输出结果应该是:
```
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.],
[0., 1., 0.],
[1., 0., 0.]])
```
这个矩阵的每一行都是一个样本的独热编码表示。