sim neural network with imbalanced data

8 次查看(过去 30 天)
Demet
Demet 2023-1-27
回答: Meet 2024-11-15,11:44
Hello,
I have imbalanced data and I want to classify it. I undersampled the data and trained Neural Network with this balanced data and I get a high success. I used patterned () for training and for testing the code is sim().
I want to be able to use this NN in real life and when i used sim() for it the result is really bad as this data is imbalanced. When I make equalize the number of the two groups the result of sim() is really good.
The problem in real life we even don't know the label of the data and i can not equalize before simulation. Is there any way for me to use this NN in real life for imbalanced data?
I would be very happy if anyone has an idea about it.
Thanks.

回答(1 个)

Meet
Meet 2024-11-15,11:44
Hi Demet,
Since you are experiencing poor performance with "sim" on the imbalanced dataset, here are some methods you can consider to improve your model's performance:
  1. Increase the number of instances in the minority class by duplicating samples or using techniques like "SMOTE".
  2. Assign higher weights to the minority class during training to penalize misclassification more heavily, this can be used by adjusting the "Weights" parameter in "fitcensemble" function.
  3. If you manually implement the training loop for your neural network, you can define a custom loss function that applies higher penalties to errors in the minority class, effectively balancing the influence of each class during training.
Hope this helps!!

类别

Help CenterFile Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by