小编NoS*_*per的帖子

尝试校准 keras 模型

我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV,尝试将其包装为KerasClassifier并覆盖预测函数,但没有成功。有人可以说我做错了什么吗?这是模型代码:

def create_model():
    model = Sequential()
    model.add(Conv2D(64, kernel_size=(3,3), activation = 'relu', input_shape=(28, 28 ,1) ))
    model.add(MaxPooling2D(pool_size = (2, 2)))

    model.add(Conv2D(64, kernel_size = (3, 3), activation = 'relu'))
    model.add(MaxPooling2D(pool_size = (2, 2)))

    model.add(Conv2D(64, kernel_size = (3, 3), activation = 'relu'))
    model.add(MaxPooling2D(pool_size = (2, 2)))

    model.add(Flatten())
    model.add(Dense(128, activation = 'relu'))
    model.add(Dropout(0.20))

    model.add(Dense(24, activation = 'softmax'))

    model.compile(loss = keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(), metrics=['accuracy'])
    
    return model
Run Code Online (Sandbox Code Playgroud)

这是我试图校准它:

model = KerasClassifier(build_fn=create_model,epochs=5, batch_size=128,validation_data=(evalX_cnn, eval_y_cnn))
model.fit(trainX_cnn, train_y_cnn)
model_c = CalibratedClassifierCV(base_estimator=model, cv='prefit') …
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn keras tensorflow

2
推荐指数
1
解决办法
992
查看次数