使用K-cross验证训练精度后的所有NaN值

时间:2020-02-01 07:00:05

标签: machine-learning classification

    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验证似乎不起作用。与使用所有CPU相比,它返回​​Nan并执行得非常快 /

1 个答案:

答案 0 :(得分:0)

您定义的分类器功能可能存在错误,这将为您提供错误的输出。我的猜测是检查您是否已在输入层中适当定义了输入节点的数量,因为其余的代码似乎都是正确的。