ValueError:模型未配置为计算准确度

Abd*_*mam 6 python scikit-learn keras tensorflow

使用此代码时,我从一些教程中得到了错误,指出模型未配置为计算准确度,我应该通过准确度,奇怪的是我已经通过了指标 = ['accuracy']

我已经搜索了很多,除了我的之外,我看到的所有代码都可以正常工作。

评估人工神经网络

from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from tensorflow.python.keras.models import Sequential #Used to initialize the NN
from tensorflow.python.keras.layers import Dense #Used to create the layers in the ANN

def build_classifier():
    classifier = Sequential()
    classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu',input_dim = 11))
    classifier.add(Dense(units= 6, kernel_initializer = 'uniform', activation = 'relu'))
    classifier.add(Dense(units = 1, kernel_initializer = 'uniform', activation = 'sigmoid'))
    classifier.compile(optimizer='adam', loss='binary_crossentropy', metrics= ['accuracy'])
    return classifier
# Needs to be revised from evaluting video in the course if needed
classifier = KerasClassifier(build_fn = build_classifier, batch_size = 10, nb_epoch = 100)
accuracies = cross_val_score(estimator = classifier, X = X_train, y = y_train, cv = 10, n_jobs = -1)
Run Code Online (Sandbox Code Playgroud)

我希望输出是精度向量,而不是我得到:

ValueError:模型未配置为计算准确度。你应该传递metrics=["accuracy"]model.compile()方法。

小智 4

将参数从metrics=['accuracy']更改为metrics=['acc']对我有用。

问候,约瑟夫