Добавьте в нейронную сеть ещё один слой. Пусть у первого скрытого слоя будет 10 нейронов units с сигмоидной активацией. Во втором выходном слое будет один нейрон с сигмоидой: её рассмотрим как вероятность класса «1».

Обучите нейронную сеть на 10 эпохах, напечатав на экране прогресс обучения.

Подсказка

Слои добавляются методом model.add(). Аргумент input_dim нужно указать только для первого слоя.

import pandas as pd
from tensorflow import keras
from sklearn.metrics import accuracy_score


df = pd.read_csv('/datasets/train_data_n.csv')
df['target'] = (df['target'] > df['target'].median()).astype(int)
features_train = df.drop('target', axis=1)
target_train = df['target']

df_val = pd.read_csv('/datasets/test_data_n.csv')
df_val['target'] = (df_val['target'] > df['target'].median()).astype(int)
features_valid = df_val.drop('target', axis=1)
target_valid = df_val['target']

model = keras.models.Sequential()
model.add(keras.layers.Dense(units=10, input_dim=features_train.shape[1], activation='sigmoid'))
model.add(keras.layers.Dense(units=1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='sgd', metrics=['acc'])

model.fit(features_train, target_train, epochs=10, verbose=2,
          validation_data=(features_valid, target_valid))

Результат