python之如何將標(biāo)簽轉(zhuǎn)化為one-hot(獨熱編碼)
將標(biāo)簽轉(zhuǎn)化為one-hot(獨熱編碼)
問題描述
在利用categorical_crossentropy作為損失函數(shù)時,需要將標(biāo)簽設(shè)定為one-hot格式,即每個標(biāo)簽的長度應(yīng)轉(zhuǎn)換為一個長度為類別數(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)備一個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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出
這篇文章主要介紹了Python讀取hdf文件并轉(zhuǎn)化為tiff格式輸出,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07Python利用Selenium實現(xiàn)自動觀看學(xué)習(xí)通視頻
Selenium是一個用于Web應(yīng)用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。本文主要介紹了利用Selenium實現(xiàn)自動觀看學(xué)習(xí)通視頻,需要的同學(xué)可以參考一下2021-12-12