Каков наилучший способ использовать ROC / AUC в качестве метрики в Keras вместо «точности» при выполнении проверки KFold? Я попытался заменить «точность» на sklearns «roc_curve» и «auc», но это не сработало.
Также: Как я могу получить доступ к циклам 'cross_val_score ()', чтобы построить кривую ROC?
Вот мой код:
X = X.values
Y = Y.values
def create_baseline():
model = Sequential()
model.add(Dense(82, input_dim=82, kernel_initializer='normal', activation='relu'))
model.add(Dense(50, activation='relu'))
model.add(Dense(1, kernel_initializer='normal', activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
return model
estimator = KerasClassifier(build_fn=create_baseline, epochs=100, batch_size=5, verbose=0)
kfold = KFold(n_splits=50, shuffle=True, random_state=True)
results = model_selection.cross_val_score(estimator, X, Y, cv=kfold)
print("Accuracy: %.3f%% (%.3f%%)" % (results.mean()*100.0, results.std()*100.0))