Thank you very much Frank,
I optimized the hidden layers as mentioned. But how can I prevent overfitting? And how do you differentiate between training data sets and accuracy data sets? My approach would be as follows:
import numpy as np


def train_test_split(M):
    train_data = M[:round(len(M)*0.8)]
    test_data = M[:round(len(M)*0.2)]
    return train_data, test_data