# All machine learning models are giving the same accuracy

I have a small dataset (2000 rows) and am testing different algorithms for binary classification. The data set is very small but I do not have the option of increasing the dataset.

I have tested a multilayer perceptron (deep learning), xgbooster, logistic regression and they all give an accuracy of $$\pm 60$$% $$(59, 58, 62, 61, \text{etc.})$$ no matter what I change in parameters they all give a similar accuracy.

I know the dataset is small, but I would like to understand why this is happening, and how I can potentially fix it. I am even trying to remove some features from the model, all still giving $$\pm60$$%

Here is the code for the deep learning model

model = Sequential()

history = model.fit(X_train, y_train,epochs=60, batch_size=20,validation_split=0.1)


Attaching some sample learning curves for the deep learning model

• Have you tried tuning hyperparameters? Does that change at least a little bit the accuracy of your model? And another question: aren't you leaking some test data into the training dataset? Sep 8 at 15:39
• Yes I have tried to tune the hyperparameters however binary cross entropy, sigmoid and relu are (as expected) yielding the best results. Sep 9 at 4:19
• The 2 curves do not seems consistent: same legends but different behaviour: could you give details? The second curve seems you let the model overfit. Have you done early stop aroud epoch n 20?
– Malo
Sep 11 at 9:25