You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
How does confusion matrix table work on 60 class or more
6 views (last 30 days)
Show older comments

i wont do onfusion matrix for 60 class or more like this picture To find out TP,TN,FP,FN
20 Comments
Walter Roberson
on 13 Aug 2022
confusionchart can handle those sizes.
confusionchart(randi(20,60,60))

Walter Roberson
on 13 Aug 2022
Walter Roberson
on 13 Aug 2022
The example at that link shows 10 classes being plotted in the format you asked for. What happens when you do your 60 classes?
Walter Roberson
on 13 Aug 2022
You are using confusionchart() rather than the plotconfusion() that I posted the more recent link to.
Walter Roberson
on 13 Aug 2022
That looks to me as if it is working. Just enlarge your plot area.
You want to be able to have outputs such as '46.2%' . You can't really read anything less than 8 point font, which is going to need 26 pixels wide for that character string (and more space would be preferred.) That would take at least
26*60
ans = 1560
1560 pixels wide, plus some more for the ticks and the axes labels; those class labels would take at least 32 pixels wide. So you are probably looking at around 1650 or more pixels wide to be readable.
Walter Roberson
on 13 Aug 2022
Yes?
Your sample plot has a '51.6%' in the middle of it. After having reduced down to 8 pixel font instead of the default 10 pixel font, the string '51.6%' takes 26 pixels width. You have 60 classes, so you need to allow space for (60 copies of 26 pixels) = 1560 pixels wide for the percentages drawn in the boxes. You have to allow 32 pixels for the '200170' class label. You need to allow 8 pixels for the sideways 'Output Class' label. That is a minimum of 1600 pixels width you need in order to be able to draw that chart -- probably more. If your window is not at least that wide then you will get overlap of characters.
Abdullah
on 13 Aug 2022
It's not enough for thes big dataset
In addition to casia v4 which contains 1000 class
Walter Roberson
on 13 Aug 2022
Okay, suppose that you are dealing with a chart with 1000 classes. And suppose that you have an Apple Retina display, 2880 x 1800 pixels. Then at best you can allocate each class 2.88 pixels of width. You wish to display 3 numeric characters plus a symbol, (such as 51.6%) so you can afford to allocate 2.88/4 = 0.72 pixels per character at best.
Are you able to read characters that are 0.72 pixels wide?
What is your plan to be able to display 1000 classes in a single chart? How many pixels per box were you thinking of allocating? Do you have a display that is 1000 times that number wide?
Walter Roberson
on 13 Aug 2022
Edited: Walter Roberson
on 13 Aug 2022
Yes, and you want to have that for 1000 classes. That table is 2 classes plus a marginal value, and is (2+1) boxes wide by (2+1) boxes high. For 1000 classes you would have (1000+1) boxes wide by (1000+1) boxes high. Each box needs at least 28 pixels wide if an 8 point font is used, and the class label takes 32 pixels, so you need a display that is at least
(1000+1)*28 + 32
ans = 28060
over 28 thousand pixels wide.
Unless, that is, you want MATLAB to generate
1000 * (1000-1)/2
ans = 499500
close to half a million different 3 x 3 graphs, each comparing exactly two classes against each other ? Like one for class 17 vs 83, one for 17 vs 84, one for 83 vs 717, and so on ?? You might be able to fit 3 of those comfortably across, so it would only take about
200 * (499500/3) %pixels high times graphs required divided by graphs wide
ans = 33300000
33 million or so pixels high.
Walter Roberson
on 14 Aug 2022
MATLAB can generate the graph, and you can see the details if you zoom in enough, probably about 28:1
Answers (0)
See Also
Categories
Find more on Axis Labels in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
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)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)