Deep learning model gives random results

First I am new to machine learning if it is an obvious question, I am sorry.

dataset_coefficients = loadtxt(
'in.csv', delimiter=',')
'out.csv')
X = dataset_coefficients[:, 0:4]

model = Sequential()

model.compile(loss="mean_squared_error",

model.fit(X, y, epochs=250, batch_size=100, verbose=0)
_, accuracy = model.evaluate(X, y, verbose=0)
print('Accuracy: {}%'.format(accuracy * 100))


in.csv looks like this

     1,       -21,       147,      -343
1,        19,       115,       225
1,         1,       -64,       -64
1,        30,       300,      1000
1,        16,        64,         0
1,         3,       -81,      -243
1,         3,         3,         1
1,       -13,        16,       192


out.csv

     1
2
3
1
2
3
1
2


When I test the accuracy with the data which was previously used for training

Output is

Accuracy: 33.33333432674408%


No matter how big my dataset is, the result has the exact same accuracy rate of 33% which seems like the prediction is literally random. What am I doing wrong? Thanks

• MSE is likely not the best objective here. You definitely should be normalizing/standardizing your input. – Ben Reiniger Dec 9 '19 at 22:47
• If you are using mean squared error, you should have a linear activation function for the output layer. As @BenReiniger said, try standardizing or normalizing your data for regression. – Shubham Panchal Dec 10 '19 at 0:19