categorical conversion to integer

2 vues (au cours des 30 derniers jours)
tren
tren le 27 Avr 2023
Commenté : Walter Roberson le 28 Avr 2023
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

Réponses (3)

Star Strider
Star Strider le 27 Avr 2023
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 le 27 Avr 2023
Modifié(e) : Walter Roberson le 28 Avr 2023
create an ordinal categorical with valueset 0 and 1. Afterwards you can int8() the labels
  1 commentaire
Walter Roberson
Walter Roberson le 28 Avr 2023
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

Connectez-vous pour commenter.


Stephen23
Stephen23 le 27 Avr 2023
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

Catégories

En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange

Produits


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by