from keras.wrappers.scikit_learn import KerasClassifier from sklearn.model_selection import cross_val_score def build_classifier(): classifier = Sequential() classifier.add(Dense(units = 6, activation = 'relu', input_dim = 11, kernel_initializer = 'uniform')) classifier.add(Dense(units = 6, activation = 'relu', kernel_initializer = 'uniform')) classifier.add(Dense(units = 1, activation = 'sigmoid', kernel_initializer = 'uniform')) classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy']) return classifier classifier = KerasClassifier(build_fn = build_classifier, batch_size = 10, epochs = 100) accuracies = cross_val_score(estimator = classifier, X = X_train, y = y_train, cv = 10, n_jobs = -1)
/这段代码看起来很干净,但K折交叉验证似乎不起作用。它返回NaN值,并且执行速度很快,与使用所有CPU时的表现相反/
回答:
您定义的分类器函数可能存在错误,导致输出不正确。我猜测您应该检查输入层中输入节点的数量是否定义得当,因为您的其他代码看起来没有问题。