python实现one-hot编码源码
时间: 2023-05-14 17:01:25 浏览: 141
One-hot编码是一种将分类变量转换为数字变量的方法,通常用于机器学习中的特征工程。Python是一种功能强大的编程语言,可以用来实现One-hot编码。
下面是一个简单的Python程序,用于实现One-hot编码。
```
import numpy as np
# 定义数据集
data = ['cat', 'dog', 'bird', 'cat', 'bird']
# 创建字典,将每个分类变量映射到一个数字上
mapping_dict = {}
for index, item in enumerate(set(data)):
mapping_dict[item] = index
# 定义One-hot编码的长度
one_hot_length = len(set(data))
# 创建一个全为0的矩阵,用于存储One-hot编码
one_hot_matrix = np.zeros((len(data), one_hot_length))
# 遍历每个数据,将对应位置的值设为1,其他位置的值为0
for data_index, data_item in enumerate(data):
one_hot_index = mapping_dict[data_item]
one_hot_matrix[data_index, one_hot_index] = 1
print(one_hot_matrix)
```
首先,导入了NumPy库,用于创建一个全为0的矩阵,用于存储One-hot编码。
然后,定义了一个数据集,并创建了一个字典,将每个分类变量映射到一个数字上。
接着,定义了One-hot编码的长度,并创建了一个全为0的矩阵,用于存储One-hot编码。
最后,遍历每个数据,将对应位置的值设为1,其他位置的值为0,并输出结果。
以上就是一个简单的Python程序,用于实现One-hot编码。