Here I am trying to use 3 convolution layer neural network to classify a set of images (train data: (3249) , validation data: (487), test data: (326))
I have one class which is misclassified and I cannot understand what to do next. I have tried to reduce the value of dropout layer, but results got worst.
I know that the next solutions could be useful if I had bad classification for all classes :
Get more data
Try New model architecture, try something better.
Decrease number of features (you may need to do this manually)
Introduce regularization such as the L2 regularization
Make your network shallower (less layers)
Use less number of hidden units
What do you thing could be a good choice if I have only misclassifcation of one class? Number of total samples per class :
Black rot: 1180
leaf blight: 1076
I had split the two datasets as follow:
x_train, _x, y_train, _y = train_test_split(x,y,test_size=0.2, stratify = y, random_state = 1) x_valid,x_test, y_valid, y_test = train_test_split(_x,_y,test_size=0.4, stratify = _y, random_state = 1)