gpt4 book ai didi

python - 精度比 gridsearchCV 低

转载 作者:行者123 更新时间:2023-11-30 10:00:07 29 4
gpt4 key购买 nike

我正在 sklearn 中运行 gridsearchCV,尝试使用此代码找到最佳模型参数。

modelDNN= KerasRegressor(build_fn=build_DNN_model, epochs=700, verbose=2)
hiden1=[16,32,64,128,256]
hiden2=[16,32,64,128,256]
hiden3=[16,32,64,128,256]
opt=['SGD', 'RMSprop','Adam']
drop=[0.0,0.2,0.3,0.4]
start = time.time()
param_gridDNN = dict(hiden1=hiden1,hiden2=hiden2,hiden3=hiden3,opt=opt,drop=drop)
gridDNN = GridSearchCV(estimator=modelDNN, param_grid=param_gridDNN, n_jobs=-1, cv=ShuffleSplit(1, test_size=0.2, random_state=584),scoring=R2_scorer(),verbose=2)
k.clear_session()
grid_resultDNN = gridDNN.fit(xtrain,ytrain,epochs=700 , validation_data=(xtest, ytest),verbose=2)

网格搜索的最佳结果是这个

Best: 0.840487 using {'drop': 0.4, 'hiden1': 64, 'hiden2': 32, 'hiden3': 128, 'opt': 'Adam'}

但我根本达不到这个 R2 准确度尝试:

p=gridCNN.best_estimator_.predict(xtest)
r2_score(np.asarray(ytest).ravel(), p)

我得到 0.4696 并在火车数据上运行它,我得到 0.7521:

    p=gridDNN.best_estimator_.predict(xtrain)
r2_score(np.asarray(ytrain).ravel(), p)

我还尝试使用相同的参数重建模型:

def build_DNN_final_model():
model = Sequential()
model.add(Dense(2,input_shape=(2,)))
model.add(Dense(64,activation="relu"))
model.add(Dense(32,activation="relu"))
model.add(Dense(128,activation="relu"))
model.add(Dropout(0.4))
model.add(Dense(1,activation="linear"))
model.compile(loss='mean_squared_error', optimizer='adam', metrics=['mse'] )
return model

训练后我得到了 R2 分数 0.6764所以我的问题是 0.8404 的准确度是多少?我怎样才能达到 gridserachCV (0.8404) 的准确性,注意到我在网格搜索期间使用它消除了交叉验证:

cv=ShuffleSplit(1, test_size=0.2, random_state=584)

提前谢谢您

最佳答案

我相信使用 700 epoch 就是原因您正在使用最佳参数来训练神经网络,但它过度训练并显示过度拟合的结果我认为使用早期停止条件可以使其接近 0.84

尝试:

keras.callbacks.callbacks.EarlyStopping(monitor='val_loss', mode='auto', restore_best_weights=True)

您可以在此处查看所有回调: keras.callbacks

如果不起作用请告诉我

关于python - 精度比 gridsearchCV 低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59349364/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com