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

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.

댓글을 달려면 로그인하십시오.

 채택된 답변

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

제품

릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by