对二维数组独热编码代码
时间: 2024-01-29 12:46:42 浏览: 69
二维数组实例代码
二维数组的独热编码可以通过遍历每个元素,将该元素的值转换为独热编码向量来实现。以下是一个示例代码:
```python
import numpy as np
def one_hot_encode(arr, num_classes):
"""
:param arr: 二维数组
:param num_classes: 类别数
:return: 独热编码结果
"""
# 将二维数组展开成一维数组
arr_flat = arr.flatten()
# 计算独热编码向量的长度
encoding_len = num_classes * arr.shape[1]
# 创建一个全0的矩阵,用于存储独热编码结果
encoding = np.zeros((arr_flat.shape[0], encoding_len))
# 遍历每个元素,将其转换为独热编码向量
for i in range(arr_flat.shape[0]):
encoding[i][arr_flat[i]] = 1
return encoding
```
这个函数的参数`arr`是一个二维数组,`num_classes`是类别数,返回值是一个独热编码结果的二维数组。该函数首先将二维数组展开成一维数组,然后计算独热编码向量的长度,并创建一个全0的矩阵用于存储独热编码结果。接着,遍历每个元素,将其转换为独热编码向量,最后返回独热编码结果的二维数组。
阅读全文