Переобучается нейросеть

Я студент биологического факультета и не очень хорошо знаком с программированием, я не могу понять, почему моя нейросеть переобучается.

a1 = eff.shape
a2 = noneff.shape
X = np.ones((a1[0] + a2[0], a1[1]))
Y = np.ones((a1[0] + a2[0], 1))

eff и noneff это два массива размерами (138,520)(1112,520) с подобными данными

for i in range(a1[0]):
    for j in range(a1[1]):
        X[i][j] = eff[i][j]
    Y[i, 0] = 0
for i in range(a2[0]):
    for j in range(a2[1]):
        X[i + a1[0]][j] = noneff[i][j]
    Y[i + a1[0]][0] = 1

X_resampled, Y_resampled = SMOTE().fit_resample(X, Y)

scaler = StandardScaler().fit(X_resampled)
X = scaler.transform(X_resampled)


model = ExtraTreeClassifier()
model.fit(X_resampled, Y_resampled)
featurevector = scaler.transform(featurevector)
newshape = X_resampled.shape
X_train, X_test, y_train, y_test = train_test_split(X_resampled, Y_resampled, test_size=0.30)
y_t = y_train
y_te = y_test
y_train = np.ones((len(y_t), 2))
y_test = np.ones((len(y_te), 2))
for i in range(len(y_t)):
    if y_t[i] == 0:
        y_train[i][1] = 0
    if y_t[i] == 1:
        y_train[i][0] = 0

for i in range(len(y_te)):
    if y_te[i] == 0:
        y_test[i][1] = 0
    if y_te[i] == 1:
        y_test[i][0] = 0

Я передаю X-train и y_train в нейросеть, но уже на 3 эпохе binary_accuracy = 0,91 а к 10 уже равна 1, наверняка я делаю что-то не так обрабатывая данные, но не могу понять что. Так же на 1 эпоху уходит всего 2 секунды, что очень странно, ниже будет приложен скриншот с summary моей сети


Ответы (0 шт):