【发布时间】:2019-11-21 13:29:58
【问题描述】:
使用此代码时,我从一些教程中得到了错误,指出模型未配置为计算准确度,我应该通过准确度,奇怪的部分是我已经通过了 metrics = ['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)
我希望输出是准确度向量,而不是我得到:
ValueError:模型未配置为计算准确性。您应该将
metrics=["accuracy"]传递给model.compile()方法。
【问题讨论】:
-
你能试试
metrics=['acc']吗? -
@MaximilianPeters 我现在试过了,我没有得到同样的错误,而是模型训练了 2 秒(这几乎是使用 fit 方法训练模型所需时间的 1/10 ) 而且准确率很低
-
你能分享你的数据集或其中的一部分吗?
-
@MaximilianPeters 这里是:drive.google.com/open?id=1GyyABXPxqjbc4RVSsaJtV6Vo6NqNPhms
-
classifier.model.metrics_names带给你什么?
标签: python tensorflow keras scikit-learn