После некоторой обработки данных у меня есть некоторые переменные, которые являются либо категориальными, помеченными 0 или 1, либо числовыми переменными, которые были нормализованы, чтобы иметь значения в диапазоне от 0,0 до 1,0.Тогда вот где я определяю и запускаю модель:
def baseline_model():
# create model
model = Sequential()
model.add(Dense(8, input_dim=6, activation='relu'))
model.add(Dense(2, activation='softmax'))
# Compile model
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
# Fit the model
estimator = KerasClassifier(build_fn=baseline_model, nb_epoch=200, batch_size=10, verbose=0)
kfold = KFold(n_splits=5, shuffle=True, random_state=seed)
results = cross_val_score(estimator, X, Y, cv=kfold, scoring="f1_macro")
print("\nF1 score: %.2f%% (%.2f%%)" % (results.mean()*100, results.std()*100))
Однако, независимо от того, какие функции я добавлю в X или сколько их, показатель F1 всегда будет 49,79%
РЕДАКТИРОВАТЬ: я также тестировал с различными оптимизаторами, но результат все тот же