How do I deal with different class sizes when classifying data with a petternnet?

I want to classify datasets using a patternnet. I have 2 classes (labelled 1 and 2). However, class 2 is significantly smaller than class 1 (ratio 1:9). The patternnet always classifies every sample into class 1, reaching 90% accuracy with it.
Is there any way to weigh or prioritize my classes so that this is not viewed as the best solution? (e.g. a cost matrix like for a decision tree (fitctree))

4 commentaires

Did you normalize your data prior to classification ? With normalisation (mapminmax function for example) you will not have a 1:9 ration anymore.
I'm referring to the number of samples per class when I say smaller and 1:9 ratio. I don't see how normalizing my values could change that.
I see I misunderstood sorry. What happens if you reduce the number of labbelled 1 to the number of labbelled 2 ? Does it still classes everything in L1 ?
If I do that it works fine but I would prefer including all of my data.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Produits

Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by