日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 生成one_hot標簽和恢復

系統 2125 0

? ? 首先生成一個主對角全為1的其余全為0的矩陣,比如有n個分類就是n * n,效果如下:

Python 生成one_hot標簽和恢復_第1張圖片

? ? 隨后根據標簽列表(或者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 = one_hot[label.astype(np.int32)] # 表示選取矩陣上面的第幾行
    # label = [1, 4, 8, 9, 5, 0]
    # one_hot_label = one_hot[label]
    print('-----------------one_hot--------------------')
    print(one_hot_label)

    label = [one_label.tolist().index(1) for one_label in one_hot_label] # 找到下標是1的位置
    print('------------------label---------------------')
    print(label)
            
          

? ? 得到的結果:

Python 生成one_hot標簽和恢復_第2張圖片

?

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 湖州市| 山阴县| 阆中市| 贵溪市| 聂拉木县| 安塞县| 武宁县| 惠来县| 金山区| 平阳县| 密山市| 图们市| 兴隆县| 钟祥市| 肥东县| 尉犁县| 沅陵县| 德保县| 淄博市| 通渭县| 白银市| 伊川县| 上虞市| 广德县| 吉木乃县| 平安县| 尤溪县| 台北县| 金沙县| 泰兴市| 越西县| 广昌县| 马尔康县| 五峰| SHOW| 邯郸市| 澎湖县| 临潭县| 宣恩县| 稻城县| 外汇|