欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?label與one-hot之間的互相轉(zhuǎn)換方式

 更新時間:2023年02月01日 08:37:24   作者:強殖裝甲凱普  
這篇文章主要介紹了python?label與one-hot之間的互相轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

label與one-hot之間的互相轉(zhuǎn)換

有時候需要label,比如強化學(xué)習(xí)的離散動作空間,輸出動作索引;有時候需要one-hot,比如訓(xùn)練數(shù)據(jù)或者輸入上一個狀態(tài)的動作,簡單的互相轉(zhuǎn)換還是重要的。

label 轉(zhuǎn) one-hot

通過 np.eye(action_dims)[actions] 快速生成:

>>> import numpy as np
>>> label = [1,2,2,3]
>>> np.eye(4)[label]
array([[0., 1., 0., 0.],
? ? ? ?[0., 0., 1., 0.],
? ? ? ?[0., 0., 1., 0.],
? ? ? ?[0., 0., 0., 1.]])

one-hot 轉(zhuǎn)label

numpy可以通過 np.argmax(onehot, 1) 實現(xiàn),pytorch 可以通過 torch.topk(one_hot, 1)[1].squeeze(1) 實現(xiàn):

>>> import torch
>>> onehot
array([[0., 1., 0., 0.],
? ? ? ?[0., 0., 1., 0.],
? ? ? ?[0., 0., 1., 0.],
? ? ? ?[0., 0., 0., 1.]])
>>> np.argmax(onehot,1)
array([1, 2, 2, 3], dtype=int64)
>>> torch.topk(torch.tensor(onehot), 1)[1].squeeze(1)
tensor([1, 2, 2, 3])

label:one-hot 與 標(biāo)量轉(zhuǎn)化

標(biāo)量 轉(zhuǎn)化為 one-hot 向量

from keras.utils import to_categorical

data = [1, 3, 2, 0, 3, 2, 2, 1, 0, 1]
encoded = to_categorical(data)
print("encoded:", encoded)

輸出:

encoded: [[0. 1. 0. 0.]
             [0. 0. 0. 1.]
             [0. 0. 1. 0.]
             [1. 0. 0. 0.]
             [0. 0. 0. 1.]
             [0. 0. 1. 0.]
             [0. 0. 1. 0.]
             [0. 1. 0. 0.]
             [1. 0. 0. 0.]
             [0. 1. 0. 0.]]

one-hot向量 轉(zhuǎn)化為 標(biāo)量

因為一個熱向量是一個包含0和1的向量,所以可以這樣做:

encoded = np.array([[0, 1, 0, 0],
? ? ? ? ? ? ? ? ? ? [0, 0, 0, 1],
? ? ? ? ? ? ? ? ? ? [0, 0, 1, 0],
? ? ? ? ? ? ? ? ? ? [1, 0, 0, 0],
? ? ? ? ? ? ? ? ? ? [0, 0, 0, 1],
? ? ? ? ? ? ? ? ? ? [0, 0, 1, 0],
? ? ? ? ? ? ? ? ? ? [0, 0, 1, 0],
? ? ? ? ? ? ? ? ? ? [0, 1, 0, 0],
? ? ? ? ? ? ? ? ? ? [1, 0, 0, 0],
? ? ? ? ? ? ? ? ? ? [0, 1, 0, 0]])

data = [np.where(r == 1)[0][0] for r in encoded]
print("data:", data)

輸出:

data: [1, 3, 2, 0, 3, 2, 2, 1, 0, 1]

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 字符串只保留漢字的方法

    python 字符串只保留漢字的方法

    今天小編就為大家分享一篇python 字符串只保留漢字的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python實現(xiàn)批量合并Excel文件的第二張合并Excel

    Python實現(xiàn)批量合并Excel文件的第二張合并Excel

    在數(shù)據(jù)處理和分析中,經(jīng)常需要對多個Excel文件進行批量操作,特別是當(dāng)這些文件具有相似的結(jié)構(gòu)時,下面我們就來看看Python如何實現(xiàn)批量合并文件夾下所有Excel文件的第二張表吧
    2024-03-03
  • python繪制已知點的坐標(biāo)的直線實例

    python繪制已知點的坐標(biāo)的直線實例

    今天小編就為大家分享一篇python繪制已知點的坐標(biāo)的直線實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python搭建微信公眾平臺

    python搭建微信公眾平臺

    這篇文章主要介紹了python搭建微信公眾平臺的相關(guān)資料和技巧,感興趣的朋友可以參考一下
    2016-02-02
  • Python如何實現(xiàn)轉(zhuǎn)換URL詳解

    Python如何實現(xiàn)轉(zhuǎn)換URL詳解

    這篇文章主要介紹了Python如何實現(xiàn)轉(zhuǎn)換URL詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 基于Python實現(xiàn)下載網(wǎng)易音樂代碼實例

    基于Python實現(xiàn)下載網(wǎng)易音樂代碼實例

    這篇文章主要介紹了基于Python實現(xiàn)下載網(wǎng)易音樂代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 使用Pandas?實現(xiàn)MySQL日期函數(shù)的解決方法

    使用Pandas?實現(xiàn)MySQL日期函數(shù)的解決方法

    這篇文章主要介紹了用Pandas?實現(xiàn)MySQL日期函數(shù)的效果,Python是很靈活的語言,達成同一個目標(biāo)或有多種途徑,我提供的只是其中一種解決方法,需要的朋友可以參考下
    2023-02-02
  • Django前后端分離csrf token獲取方式

    Django前后端分離csrf token獲取方式

    這篇文章主要介紹了Django前后端分離csrf token獲取方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 淺談python中set使用

    淺談python中set使用

    下面小編就為大家?guī)硪黄獪\談python中set使用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 使用python爬取B站千萬級數(shù)據(jù)

    使用python爬取B站千萬級數(shù)據(jù)

    B站我想大家都熟悉吧,其實 B 站的爬蟲網(wǎng)上一搜一大堆。不過紙上得來終覺淺,絕知此事要躬行,我碼故我在。
    2018-06-06

最新評論