微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Keras GridSearchCV 最好是负数

如何解决Keras GridSearchCV 最好是负数

我需要使用 kesar tensorflow 创建一个神经网络。我还需要对指标使用“均方误差”。我已经对参数进行了必要的修改,以便它适合模型。我知道 MSE 输出不应该是负值,但我不确定为什么我的 gridsearchcv 的“最佳”是负值。我的 MSE 和损失也异常高。我已将指标更改为“mse”并将激活更改为“线性”,因为它需要一个合理的参数值。下面是我的代码

我的模型功能

def create_my_model(hidden_layers = 0,l1 =0.1,l2 = 0.01):
    model = Sequential()
    for i,nodes in enumerate(hidden_layers):
        if i == 0:

            model.add(Dense(nodes,input_dim = 9,activation = 'sigmoid',kernel_regularizer=keras.regularizers.l1_l2(l1,l2)))
        else:
            model.add(Dense(nodes,l2)))
   

                
    model.add(Dense(1,activation = 'linear')) #outer layer 
    
    model.compile(loss="mse",optimizer="adam",metrics=["mse"])
    
    return model

我的 gridsearchcv 实现:

model = KerasClassifier(build_fn=create_my_model)

hidden_layers = [[15,14,13,12,11,10],[20,19,18,17,16,15],[15,13],[14,10,9]]
l1 = [0.001,0.01]
l2 = [0.001,0.01]
#activi = ['relu','sigmoid','tanh','elu']


parameter_grid = dict(hidden_layers = hidden_layers,l1=l1,l2=l2)

mse = make_scorer(mean_squared_error,greater_is_better=False)

mygrid = gridsearchcv(estimator = model,param_grid=parameter_grid,n_jobs = -1,scoring = mse)
grid_result = mygrid.fit(classification,target)

我的输出

 639/639 [==============================] - 2s 2ms/step - loss: 2176786.7854 - mse: 2176786.5518

 Best: -0.206580 using {'hidden_layers': [15,'l1': 0.001,'l2': 0.001}

我所做的更改

我已将评分更改为“neg_mean_squared_error”,但我的最佳评分仍然为负:

mygrid = gridsearchcv(estimator = model,scoring ='neg_mean_squared_error')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?