categorical conversion to integer

2 ビュー (過去 30 日間)
tren
tren 2023 年 4 月 27 日
コメント済み: Walter Roberson 2023 年 4 月 28 日
I have trained a neural network with two classes (0 and 1)
When i input an image of size 256x256 as:
y=classify(net,input)
the output y is categorica (either 0 or 1)l.
When I type cast it int 8
y=cast(y,'int'8)
I ger wrong values. I need values as it is classified by classifier in categorical form (0 as 0, 1 as 1).
Any suggestion?
Thanks

回答 (3 件)

Star Strider
Star Strider 2023 年 4 月 27 日
Perhaps something like this —
y = categorical([0 1])
y = 1×2 categorical array
0 1
y = cellfun(@str2double,categories(y))
y = 2×1
0 1
y = int8(y)
y = 2×1
0 1
.

Walter Roberson
Walter Roberson 2023 年 4 月 27 日
編集済み: Walter Roberson 2023 年 4 月 28 日
create an ordinal categorical with valueset 0 and 1. Afterwards you can int8() the labels
  1 件のコメント
Walter Roberson
Walter Roberson 2023 年 4 月 28 日
uint8() gives back the class number. If you ordered them then you can work on them mathematically.
y = categorical(randi([0 1], 10, 1), [0 1], ["0", "1"])
y = 10×1 categorical array
1 0 1 0 0 1 1 0 0 0
uint8(y) - 1
ans = 10×1
1 0 1 0 0 1 1 0 0 0

サインインしてコメントする。


Stephen23
Stephen23 2023 年 4 月 27 日
M = categorical([0,1;1,0])
M = 2×2 categorical array
0 1 1 0
X = double(M);
Y = int8(str2double(categories(M)));
Z = Y(X)
Z = 2×2
0 1 1 0

カテゴリ

Help Center および File ExchangeDeep Learning Toolbox についてさらに検索

製品


リリース

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by