onehotdecode
説明
は、A
= onehotdecode(B
,classes
,featureDim
)B
内の各確率ベクトルを、classes
で指定されたラベルのうち確率が最も高いクラス ラベルに復号化します。featureDim
は、確率ベクトルの定義に使用される次元を指定します。この関数は、ベクトル内で最も高い値がある位置と、classes
内でそれに対応する位置にあるクラス ラベルをマッチングさせて、確率ベクトルをクラス ラベルに復号化します。A
内の各確率ベクトルは、確率ベクトル内で最も高い値に対応する classes
の値に置き換えられます。
例
ラベルの符号化と復号化
関数onehotencode
および onehotdecode
を使用して、一連のラベルを確率ベクトルに符号化し、それらを復号化してラベルに戻します。
カテゴリカル ラベルのベクトルを作成します。
colorsOriginal = ["red" "blue" "red" "green" "yellow" "blue"]; colorsOriginal = categorical(colorsOriginal)
colorsOriginal = 1x6 categorical
red blue red green yellow blue
categorical ベクトルに含まれるクラスを判別します。
classes = categories(colorsOriginal);
関数 onehotencode
を使用してラベルを one-hot 符号化し、確率ベクトルにします。確率ベクトルを最初の次元に符号化します。
colorsEncoded = onehotencode(colorsOriginal,1)
colorsEncoded = 4×6
0 1 0 0 0 1
0 0 0 1 0 0
1 0 1 0 0 0
0 0 0 0 1 0
onehotdecode
を使用して、確率ベクトルを復号化します。
colorsDecoded = onehotdecode(colorsEncoded,classes,1)
colorsDecoded = 1x6 categorical
red blue red green yellow blue
復号化されたラベルは元のラベルと同じになります。
確率が最も高いクラスへの確率ベクトルの復号化
各観測値に対して onehotdecode を使用し、一連の確率ベクトルを確率が最も高いクラスに復号化します。
10 個のランダムな確率ベクトルから成るセットを作成します。このベクトルは、観測値が 5 個のクラスのいずれかに属する確率を表します。
numObs = 10; numClasses = 5; prob = rand(numObs,numClasses); tot = sum(prob,2); prob = prob./tot;
5 個のクラスから成るセットを定義します。
classes = ["Red" "Yellow" "Green" "Blue" "Purple"];
確率が最も高いクラスに確率を復号化します。確率ベクトルは 2 番目の次元に符号化されています。そのため、符号化された確立を含む次元を 2
として指定します。確率が最も高いクラスを string のベクトルとして取得します。
result = onehotdecode(prob,classes,2,"string")
result = 10x1 string
"Red"
"Yellow"
"Yellow"
"Green"
"Yellow"
"Blue"
"Green"
"Yellow"
"Red"
"Red"
入力引数
B
— 確率ベクトル
数値配列
復号化する確率ベクトル。数値配列として指定します。
B
の値は 0
と 1
の範囲内でなければなりません。B
内の確率ベクトルに NaN
値が含まれる場合、この関数は、確率が最も高く、値が NaN
ではないクラスにその観測値を復号化します。観測値に NaN
値のみが含まれる場合、この関数は、classes
に含まれる最初のクラス ラベルにその観測値を復号化します。
データ型: single
| double
classes
— クラス
cell 配列 | string ベクトル | 数値ベクトル | 文字配列
クラス。文字ベクトルの cell 配列、string ベクトル、数値ベクトル、または 2 次元の文字配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| string
| cell
| char
typename
— 復号化されたラベルのデータ型
'categorical'
(既定値) | 文字ベクトル | string スカラー
復号化されたラベルのデータ型。文字ベクトルまたは string スカラーとして指定します。
typename
の有効な値は、'categorical'
、'string'
、および 'single'
や 'int64'
などの数値型です。数値型を指定する場合、classes
は数値ベクトルでなければなりません。
例: 'double'
データ型: char
| string
出力引数
A
— 復号化されたクラス ラベル
categorical 配列 (既定値) | string 配列 | 数値配列
復号化されたクラス ラベル。categorical 配列、string 配列、または数値配列として返されます。
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)