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

keras.utils.to_categorical和one hot格式解析

 更新時間:2020年07月02日 10:01:34   作者:gdl3463315  
這篇文章主要介紹了keras.utils.to_categorical和one hot格式解析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

keras.utils.to_categorical這個方法,源碼中,它是這樣寫的:

Converts a class vector (integers) to binary class matrix.

E.g. for use with categorical_crossentropy.

也就是說它是對于一個類型的容器(整型)的轉(zhuǎn)化為二元類型矩陣。比如用來計算多類別交叉熵來使用的。

其參數(shù)也很簡單:

def to_categorical(y, num_classes=None): 
Arguments 
y: class vector to be converted into a matrix 
(integers from 0 to num_classes). 
num_classes: total number of classes.

說的很明白了,y就是待轉(zhuǎn)換容器(其類型為從0到類型數(shù)目),而num_classes則是類型的總數(shù)。

這樣這一句就比較容易理解了:

先通過np生成一個1000*1維的其值為0-9的矩陣,然后再通過keras.utils.to_categorical方法獲取成一個1000*10維的二元矩陣。

y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)

說了這么多,其實就是使用onehot對類型標(biāo)簽進(jìn)行編碼。下面的也都是這樣解釋。

one hot編碼是將類別變量轉(zhuǎn)換為機(jī)器學(xué)習(xí)算法易于利用的一種形式的過程。

通過例子可能更容易理解這個概念。

假設(shè)我們有一個迷你數(shù)據(jù)集:

公司名 類別值 價格
VW 1 20000
Acura 2 10011
Honda 3 50000
Honda 3 10000

其中,類別值是分配給數(shù)據(jù)集中條目的數(shù)值編號。比如,如果我們在數(shù)據(jù)集中新加入一個公司,那么我們會給這家公司一個新類別值4。當(dāng)獨特的條目增加時,類別值將成比例增加。

在上面的表格中,類別值從1開始,更符合日常生活中的習(xí)慣。實際項目中,類別值從0開始(因為大多數(shù)計算機(jī)系統(tǒng)計數(shù)),所以,如果有N個類別,類別值為0至N-1.

sklear的LabelEncoder可以幫我們完成這一類別值分配工作。

現(xiàn)在讓我們繼續(xù)討論one hot編碼,將以上數(shù)據(jù)集one hot編碼后,我們得到的表示如下:

VW Acura Honda 價格
1 0 0 20000
0 1 0 10011
0 0 1 50000
0 0 1 10000

簡單來說:**keras.utils.to_categorical函數(shù)是把類別標(biāo)簽轉(zhuǎn)換為onehot編碼(categorical就是類別標(biāo)簽的意思,表示現(xiàn)實世界中你分類的各類別),

而onehot編碼是一種方便計算機(jī)處理的二元編碼。**

補(bǔ)充知識:序列預(yù)處理:序列填充之pad_sequences()和one-hot轉(zhuǎn)化之keras.utils.to_categorical()

tensorflow文本處理中,經(jīng)常會將 padding 和 one-hot 操作共同出現(xiàn),所以以下兩種方法為有效且常用的方法:

一、keras.preprocessing.sequence.pad_sequences()

實例:

>>>list_1 = [[2,3,4]]
>>>keras.preprocessing.sequence.pad_sequences(list_1, maxlen=10)
array([[0, 0, 0, 0, 0, 0, 0, 2, 3, 4]], dtype=int32)

>>>list_2 = [[1,2,3,4,5]]
>>>keras.preprocessing.sequence.pad_sequences(list_2, maxlen=10)
array([[0, 0, 0, 0, 0, 1, 2, 3, 4, 5]], dtype=int32)

二、keras.utils.to_categorical()

to_categorical(y, num_classes=None, dtype='float32')

將整型標(biāo)簽轉(zhuǎn)為onehot。y為int數(shù)組,num_classes為標(biāo)簽類別總數(shù),大于max(y)(標(biāo)簽從0開始的)。

返回:如果num_classes=None,返回len(y) * [max(y)+1](維度,m*n表示m行n列矩陣,下同),否則為len(y) * num_classes。說出來顯得復(fù)雜,請看下面實例。

import keras

ohl=keras.utils.to_categorical([1,3])
# ohl=keras.utils.to_categorical([[1],[3]])
print(ohl)
"""
[[0. 1. 0. 0.]
 [0. 0. 0. 1.]]
"""
ohl=keras.utils.to_categorical([1,3],num_classes=5)
print(ohl)
"""
[[0. 1. 0. 0. 0.]
 [0. 0. 0. 1. 0.]]
"""

以上這篇keras.utils.to_categorical和one hot格式解析就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Python 2.7即將停止支持時,我們?yōu)槟銕砹艘环輕ython 3.x遷移指南

    在Python 2.7即將停止支持時,我們?yōu)槟銕砹艘环輕ython 3.x遷移指南

    這篇文章主要介紹了在Python 2.7即將停止支持時我們?yōu)槟銣?zhǔn)備了一份python 3.x遷移指南的相關(guān)資料,需要的朋友可以參考下
    2018-01-01
  • Python基于jieba, wordcloud庫生成中文詞云

    Python基于jieba, wordcloud庫生成中文詞云

    這篇文章主要介紹了Python基于jieba, wordcloud庫生成中文詞云,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Python 使用 attrs 和 cattrs 實現(xiàn)面向?qū)ο缶幊痰膶嵺`

    Python 使用 attrs 和 cattrs 實現(xiàn)面向?qū)ο缶幊痰膶嵺`

    這篇文章主要介紹了Python 使用 attrs 和 cattrs 實現(xiàn)面向?qū)ο缶幊痰膶嵺`,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 解決python selenium3啟動不了firefox的問題

    解決python selenium3啟動不了firefox的問題

    今天小編就為大家分享一篇解決python selenium3啟動不了firefox的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python的常用模塊之collections模塊詳解

    python的常用模塊之collections模塊詳解

    這篇文章主要介紹了python的常用模塊之collections模塊詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • django DRF圖片路徑問題的解決方法

    django DRF圖片路徑問題的解決方法

    這篇文章主要給大家介紹了關(guān)于django DRF圖片路徑問題的解決方法,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • python并發(fā)場景鎖的使用方法

    python并發(fā)場景鎖的使用方法

    這篇文章主要介紹了python并發(fā)場景鎖的使用方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • python?matplotlib自定義colorbar顏色條及內(nèi)置色條詳解

    python?matplotlib自定義colorbar顏色條及內(nèi)置色條詳解

    由于自己畫圖的需要想要用一些自定義的顏色來做一個colorbar,所以下面這篇文章主要給大家介紹了關(guān)于python?matplotlib自定義colorbar顏色條及內(nèi)置色條的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • python字符串與url編碼的轉(zhuǎn)換實例

    python字符串與url編碼的轉(zhuǎn)換實例

    今天小編就為大家分享一篇python字符串與url編碼的轉(zhuǎn)換實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • PyTorch環(huán)境安裝的圖文教程

    PyTorch環(huán)境安裝的圖文教程

    本文主要介紹了PyTorch環(huán)境安裝的圖文教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04

最新評論