Python 生成one_hot标签和恢复

    首先生成一个主对角全为1的其余全为0的矩阵,比如有n个分类就是n * n,效果如下:

    随后根据标签列表(或者numpy数组)选取合适的行,比如标签是[9, 1, 0, 0], 那么就会选择上图矩阵中对应的9、1、0、0行,得到one_hot标签,如果不熟悉numpy数组的列表切片的(就是说numpy_array[slice]中的slice是列表) ,可以看下这篇Python Numpy数组使用列表索引

    恢复的话就是找列表中为1的下标即可。

    代码如下:

# encoding = utf-8
'''
    author : James-J
    time : 2019/05/29
'''

import numpy as np

if __name__ == '__main__':
    one_hot = np.eye(10) # 10*10的矩阵 对角线上是1
    print('np.eye(10)\n', one_hot)
    # 两种方法 传一维的numpy数组和列表都可以
    label = np.array([1, 4, 8, 9, 5, 0])
    one_hot_label &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值