Я хочу вычислить точность, отзыв и оценку F1 для моей двоичной модели KerasClassifier, но не нашел никакого решения.
Вот мой фактический код:
# Split dataset in train and test data
X_train, X_test, Y_train, Y_test = train_test_split(normalized_X, Y, test_size=0.3, random_state=seed)
# Build the model
model = Sequential()
model.add(Dense(23, input_dim=45, kernel_initializer='normal', activation='relu'))
model.add(Dense(1, kernel_initializer='normal', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
tensorboard = TensorBoard(log_dir="logs/{}".format(time.time()))
time_callback = TimeHistory()
# Fit the model
history = model.fit(X_train, Y_train, validation_split=0.3, epochs=200, batch_size=5, verbose=1, callbacks=[tensorboard, time_callback])
А затем я прогнозирую новые данные испытаний и получаю матрицу путаницы, например:
y_pred = model.predict(X_test)
y_pred =(y_pred>0.5)
list(y_pred)
cm = confusion_matrix(Y_test, y_pred)
print(cm)
Но есть ли какое-либо решение, чтобы получить оценку точности, оценку F1, точность и отзыв? (Если не сложно, также оценка перекрестной проверки, но не обязательно для этого ответа)
Спасибо за любую помощь!
Вы можете использовать отчет о классификации scikit-learn . Чтобы преобразовать ваши метки в числовой или двоичный формат, взгляните на кодировщик меток scikit-learn .
который дает вам (выход скопированный из scikit учиться пример):
источник
Вы также можете попробовать, как указано ниже.
источник
Попробуйте это: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html с Y_test, y_pred в качестве параметров.
источник