使用0~9生成10个随机数,并将之转换为one-hot编码
时间: 2024-05-11 12:16:19 浏览: 16
好的!以下是生成10个随机数并转换为one-hot编码的代码:
```python
import random
# 生成10个随机数
numbers = [random.randint(0, 9) for _ in range(10)]
# 转换成one-hot编码
one_hot_encoding = []
for number in numbers:
encoding = [0] * 10 # 初始化全0编码
encoding[number] = 1 # 将对应位置改为1
one_hot_encoding.append(encoding)
print(one_hot_encoding)
```
输出结果类似于:
```
[[0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0, 0, 0]]
```
这里我采用了 Python 语言实现,首先生成了 10 个随机数,然后对每一个随机数都转换成了一个长度为 10 的 one-hot 编码。其中,one-hot 编码的长度等于所代表的可能取值个数。例如,这里数值的取值范围为 0 到 9,因此编码的长度就是 10。每个编码中只有一个位置的值为1,代表该编码所代表的数值。