How to solve this error? Invalid types for comparison.

4 views (last 30 days)
I want to calculate accuracy, sensitivity,...,etc based on actual and predicted data, this code is working well for numbered labels but it gives this error for string labels.

Accepted Answer

Geoff Hayes
Geoff Hayes on 30 Dec 2022
@Bajdar Nouredine - for string labels, I suspect that you need to use strcmp rather than == for checking to see if two strings are identical (if that is what you mean). You would probably want to check the type (i.e. use isstring) first (of the ACTUAL and PREDICTED arrays) to determine whether you need to use strcmp or ==.
  5 Comments
Geoff Hayes
Geoff Hayes on 31 Dec 2022
@Bajdar Nouredine - the ACTUAL and PREDICTED seem to be categorical arrays. I suppose you could convert to string arrays and then compare the two like
idx = strcmp(string(ACTUAL), string(PREDICTED)');
I had to transpose the PREDICTED array so that both it and ACTUAL are 288x1. idx should reference those elements/indices that match in both arrays.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!