使用 K 交叉验证训练准确性后的所有 NaN 值
ALL NaN values after accuracy is trained using K-cross validation
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_cross 验证似乎不起作用。它 returns Nan 并且执行速度非常快,而不是使用所有 CPU/
您定义的分类器函数可能存在错误,导致输出错误。我的猜测是检查您是否适当地定义了输入层中输入节点的数量,因为您的其余代码似乎是正确的。
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_cross 验证似乎不起作用。它 returns Nan 并且执行速度非常快,而不是使用所有 CPU/
您定义的分类器函数可能存在错误,导致输出错误。我的猜测是检查您是否适当地定义了输入层中输入节点的数量,因为您的其余代码似乎是正确的。