相关疑难解决方法(0)

一个使用numpy的热编码

如果输入为零,我想创建一个如下所示的数组:

[1,0,0,0,0,0,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

如果输入为5:

[0,0,0,0,0,1,0,0,0,0]
Run Code Online (Sandbox Code Playgroud)

对于上面我写道:

np.put(np.zeros(10),5,1)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

有什么方法可以在一行中实现吗?

python numpy one-hot-encoding

34
推荐指数
3
解决办法
6万
查看次数

将2d矩阵转换为3d one热矩阵numpy

我有np矩阵,我想将其转换为3d数组,其中元素的热编码为第三维.有没有办法处理没有循环每一行,例如

a=[[1,3],
   [2,4]]
Run Code Online (Sandbox Code Playgroud)

应该做成

b=[[1,0,0,0], [0,0,1,0],
   [0,1,0,0], [0,0,0,1]]
Run Code Online (Sandbox Code Playgroud)

python numpy vectorization one-hot-encoding

15
推荐指数
1
解决办法
5599
查看次数

这个单热矢量转换如何工作?

当我在我的机器学习项目上工作时,我正在寻找一行代码来将我的标签变成一个热门的向量.我在Reddit上遇到了来自u/benanne的这段代码.

np.eye(n_labels)[target_vector]
Run Code Online (Sandbox Code Playgroud)

例如,对于a target_vector = np.array([1, 4, 2, 1, 0, 1, 3, 2]),它返回一个热编码值:

np.eye(5)[target_vector]
Out: 
array([[ 0.,  1.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  1.],
       [ 0.,  0.,  1.,  0.,  0.],
       ..., 
       [ 0.,  1.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  1.,  0.],
       [ 0.,  0.,  1.,  0.,  0.]])
Run Code Online (Sandbox Code Playgroud)

虽然它确实有效,但我不确定它是如何工作的或原因.

python numpy vector matrix

6
推荐指数
1
解决办法
674
查看次数

标签 统计

numpy ×3

python ×3

one-hot-encoding ×2

matrix ×1

vector ×1

vectorization ×1