I would like (to try) to train a NN to predict the outcome, given the initial condition.
enter image description here For simplicity lets assume there are 100 input parameters which can cause either OutcomeA or OutcomeB.
Because the OutcomeB is very rare the available data is very uneven. The labeled training data contains 1,000 times more occurrences of OutcomeA than OutcomeA.

Since just guessing OutcomeA will already give a 99.9% success rate I am wondering how to adapt the training in order to compensate for the over representation of OutcomeA.

Is there a better way than to just randomly pic one OutcomeA for every OutcomeB?

I found a lot about stratifying when using train-test-splitting the data, but not the opposite.

  • 1
    $\begingroup$ Depending on the software you are using the 'clean' way may be possible: change the loss function so that a misclassification of a 'rare' event is punished x times (where x is 1000 or so) the punishment of a normal event. If that is not possible then you could oversample, i.e. use all the normal events and then just append all the rare events x times... $\endgroup$ – Fabian Werner Nov 21 '18 at 7:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.