I am new to neural networks. I am trying to solve a binary classification problem. Specifically, I want to determine whether a patient has or not a certain disease based on the dataset.

The dataset has about 700 samples of different patients. I divided the sets into training and test (test size = 0.3). My model has 1 input layer, 5 hidden layers, and 1 output layer. I used ReLU for the input and hidden layers, and I used the sigmoid for the output layer.

During the compilation of the model, I used stochastic gradient descent (SGD) as the optimizer and the mean squared logarithmic error for the loss. I used mini-batch gradient descend (batch size = 4) for the training.

I am trying to calculate the accuracy on the test set I created previously.

  • The model evaluation for train set is about: 0.07 (loss) 0.76 (accuracy).

  • The model evaluation for test set is about: 0.07 (loss) 0.74 (accuracy).

Firstly, I would like to know if this is a good value for a model. Is the accuracy too small?

Plus, I would like to know if there's a way to improve accuracy based on my model.

I am trying to work on a project, so I was wondering if these values are acceptable.

  • $\begingroup$ Hello. Welcome to AI SE. Please, take the time to go through our on-topic page, which describes the type of question that you can ask here, and How do I ask a good question?. Now, you should edit your post in order to describe more in detail the 1. task you're solving (I suppose you're solving a classification problem, but what are you classifying?), 2. how much data you're using for training, testing, etc. [continuing on the next comment] $\endgroup$
    – nbro
    Oct 26 '21 at 11:50
  • $\begingroup$ 3. are you computing the accuracy on a separate dataset (i.e. the test dataset) or training dataset, and 4. describe the architecture of your neural network and other hyper-parameters, e.g. the optimizer, 5. what is your ultimate goal? do you want to deploy your model in production or are you just playing with neural networks? $\endgroup$
    – nbro
    Oct 26 '21 at 11:51
  • $\begingroup$ I edited my post. Thank you for your adviceses. $\endgroup$ Oct 26 '21 at 13:20
  • $\begingroup$ Thanks! Now your question looks a lot better than before. So, you used 700*0.3 = 210 samples for testing and to compute the accuracy of 0.74 (and the remaining for training)? If that's the case, your dataset is very small. Unless the problem is simple, I don't think this amount of data is enough. So, you could probably get a higher test accuracy if you use more data. 5 hidden layers for your neural network seems also too many for such a small amount of data. Have you looked at the training/test/validation curves in order to determine whether your model has potentially overfitted the data? $\endgroup$
    – nbro
    Oct 26 '21 at 16:00
  • $\begingroup$ You should also make sure that you randomly shuffled the data before splitting it into training and test datasets. $\endgroup$
    – nbro
    Oct 26 '21 at 16:02

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.