首页 > 解决方案 > 使用 K-cross 验证训练准确性后的所有 NaN 值

问题描述

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

标签: machine-learningclassification

解决方案


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


推荐阅读