How can i put the conditional statement ( If-Then-else) on the specific elements (Rows/columns) of a matrix in Matlab Using Neural Network Tool?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Safdar Hayat Khaksar
el 15 de Oct. de 2015
Editada: Safdar Hayat Khaksar
el 30 de Oct. de 2015
How can i put the conditional statement ( If-Then-else) on the specific elements (Rows/columns) of a matrix in Matlab Using Neural Network Tool? Basically I am working on classification using neural Network tool in matlab. My out put only shows in matrix like : output =
1.2723
0.0123
0.0022
But I want the output in statement like "Class1" Or "Class2"
i.e. If the matrix is like this then output is this....
For example: I have two different matrices like: output1 =
1.2723
0.0123
0.0022
output2 =
0.2460
-0.0521
1.1062
%I want to set the ranges of the elements on behalf of some conditions like:
If The first element of the first row of matrix Output1 is >= 0.6 and <=1.5
AND
If The 2nd element of the 2nd row of matrix Output1 is >= -0.49 and <=0.49
AND
If The 3rd element of the 3rd row of matrix Output1 is >= -0.49 and <=0.49
THEN
Display = Class1
%for Matrix Output2:
I want to set the ranges of the elements on behalf of some conditions like:
If The 1st element of the 1st row of matrix Output2 is >= -0.49 and <=0.49
AND
If The 2nd element of the 2nd row of matrix Output2 is >= -0.49 and <=0.49
AND
If The 3rd element of the 3rd row of matrix Output2 is >= 0.6 and <=1.5
THEN
Display = Class2
Please anyone can send me the code/explanation. how can I set these condition using If-Then-else or any other statement?
Regards:
Safdar Hayat
+923335260136
Skype:
jugnu2008.safdar
Iqra University Islamabad, Pakistan
0 comentarios
Respuesta aceptada
Greg Heath
el 17 de Oct. de 2015
If you have 4 classes, your target matrix columns should be columns of eye(4). The relationship between class indices 1:4 and the target matrix is
trueclassindices = vec2ind(target)
target = ind2vec(trueclassindices)
Example:
>> trueclassindices = [ 1 1 2 4 3 4 ]
>> target = full( ind2vec(trueclassindices))
target = 1 1 0 0 0 0
0 0 1 0 0 0
0 0 0 0 1 0
0 0 0 1 0 1
If
output =[ 0.5142 0.49114 0.18198 0 0.25288 0.13838
0.03653 0.1455 0.4168 0.14434 0.18459 0.066341
0.31642 0.22294 0.26658 0.38809 0.54807 0.35987
0.13285 0.14041 0.13464 0.46757 0.014469 0.43541]
then
assignedclasses = 1 1 2 4 3 4
Hope this helps.
Thank you for formally accepting my answer
PS. The unit sum output is a consistent estimate of the input-conditional posterior class probabilities (See any pattern-recognition text).
Greg
3 comentarios
Greg Heath
el 18 de Oct. de 2015
I understand your question.
My answer is to change your target to have {0,1} unit vectors, modify your code and train a new classifier.
Hope this helps.
Greg
Más respuestas (0)
Ver también
Categorías
Más información sobre Sequence and Numeric Feature Data Workflows en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!