python之如何將標(biāo)簽轉(zhuǎn)化為one-hot(獨(dú)熱編碼)
將標(biāo)簽轉(zhuǎn)化為one-hot(獨(dú)熱編碼)
問題描述
在利用categorical_crossentropy作為損失函數(shù)時(shí),需要將標(biāo)簽設(shè)定為one-hot格式,即每個(gè)標(biāo)簽的長度應(yīng)轉(zhuǎn)換為一個(gè)長度為類別數(shù)的向量,該向量除了所屬的類別位置為1之外,其他位置值為0。
from keras.utils.np_utils import to_categorical categorical_labels = to_categorical(int_labels, num_classes=None)
示例:
import numpy as np int_labels = np.array([2,1,3,5]) from keras.utils.np_utils import to_categorical categorical_labels = to_categorical(int_labels, num_classes=None) print(categorical_labels)
將矩陣X轉(zhuǎn)換為one-hot矩陣
Python中將X(假設(shè)X的大小為1*m,類別為k類)轉(zhuǎn)換為one-hot矩陣
準(zhǔn)備一個(gè)eye(k)矩陣,然后根據(jù)X將對應(yīng)的列取出來。(或者把行取出來再轉(zhuǎn)置)
def conv_to_one_hot(X,n): ? ? X = np.array(X) ? ? refer = np.eye(n) ? ? X_one_hot = refer[X] ? ? return X_one_hot.T X=[3,5,4,7] print(conv_to_one_hot(X,8))
結(jié)果為:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]
[1. 0. 0. 0.]
[0. 0. 1. 0.]
[0. 1. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 1.]]
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法
今天小編就為大家分享一篇pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法,具有好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Jinja2實(shí)現(xiàn)模板渲染與訪問對象屬性流程詳解
要了解jinja2,那么需要先理解模板的概念。模板在Python的web開發(fā)中廣泛使用,它能夠有效的將業(yè)務(wù)邏輯和頁面邏輯分開,使代碼可讀性增強(qiáng),并且更加容易理解和維護(hù)。模板簡單來說就是一個(gè)其中包含占位變量表示動(dòng)態(tài)部分的文,模板文件在經(jīng)過動(dòng)態(tài)賦值后,返回給用戶2023-03-03Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出
這篇文章主要介紹了Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07Python利用Selenium實(shí)現(xiàn)自動(dòng)觀看學(xué)習(xí)通視頻
Selenium是一個(gè)用于Web應(yīng)用程序測試的工具。Selenium測試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。本文主要介紹了利用Selenium實(shí)現(xiàn)自動(dòng)觀看學(xué)習(xí)通視頻,需要的同學(xué)可以參考一下2021-12-12淺談基于Pytest框架的自動(dòng)化測試開發(fā)實(shí)踐
Pytest是Python的一種易用、高效和靈活的單元測試框架,本文主要介紹了基于Pytest框架的自動(dòng)化測試開發(fā)實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12