小编Dan*_*ice的帖子

将自定义评分与 GridSearchCV 一起用于具有多类输出的 NN 时的 KerasClassifier 问题

对来自 Keras 模型的 Multiclass 输出使用自定义评分会为 cross_val_score 或 GridSearchCV 返回相同的错误,如下所示(它在 Iris 上,因此您可以直接运行它进行测试):

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV
from keras.models import Sequential
from keras.layers import Dense
from keras.utils import to_categorical
from keras.wrappers.scikit_learn import KerasClassifier

iris = datasets.load_iris()
X= iris.data
Y = to_categorical(iris.target)

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, train_size=0.8, random_state=1000)

def create_model(optimizer='rmsprop'):
    model = Sequential()
    model.add(Dense(8,activation='relu',input_shape = (4,)))
    model.add(Dense(3,activation='softmax'))
    model.compile(optimizer = optimizer,
                  loss='categorical_crossentropy',
                  metrics=['accuracy'])
    return model


model = KerasClassifier(build_fn=create_model,
                        epochs=10, 
                        batch_size=5,
                        verbose=0) …
Run Code Online (Sandbox Code Playgroud)

scoring scikit-learn cross-validation keras grid-search

5
推荐指数
0
解决办法
1144
查看次数