使用keras的多输出数据(神经网络)的GridsearchCV超参数调整

使用keras的多输出数据(神经网络)的GridsearchCV超参数调整,keras,neural-network,cross-validation,hyperparameters,gridsearchcv,Keras,Neural Network,Cross Validation,Hyperparameters,Gridsearchcv,我有一个数据,有两个输出变量和多个输入变量,我用神经网络建立模型,但现在我想做超参数调整 对于调优,我使用了网格搜索,我编写了网格搜索的代码,但在尝试grid.fit(X_train,Y_train)时出现错误错误是ValueError:Check model target时出错:传递给模型的Numpy数组列表不是模型预期的大小。预期会看到2个数组,但得到了以下1个数组的列表:[array([[1.62970054,2.33817343], 然后我制作了两个不同的数组,然后作为grid.fit(

我有一个数据,有两个输出变量和多个输入变量,我用神经网络建立模型,但现在我想做超参数调整

对于调优,我使用了网格搜索,我编写了网格搜索的代码,但在尝试grid.fit(X_train,Y_train)时出现错误错误是ValueError:Check model target时出错:传递给模型的Numpy数组列表不是模型预期的大小。预期会看到2个数组,但得到了以下1个数组的列表:[array([[1.62970054,2.33817343], 然后我制作了两个不同的数组,然后作为grid.fit(X_train[Y[0],Y[1])传入代码,因为有两个输出,现在它显示ValueError:找到了样本数不一致的输入变量:[10000,2]。是否有任何方法可以更正此代码,或者GridsearchCV不接受多个输出值?我使用keras函数API创建了keras模型,然后我通过KerasRegression,以便实现GridsearchCV。我被代码应该是什么所困扰,因此grid.fit()将运行…或者是否有其他方法可用于超参数调整

def create_model(activation='relu',dropout_rate=0.0,neurons=10,optimizer='Adam',weight_constraint=0):
main\u input=input(shape=(17),name='main\u input')
隐藏=密集(神经元,激活=激活,name='hidden',内核约束=最大范数(权重约束))(主输入)
隐藏=辍学(辍学率)(隐藏)
out1=密集(1,激活='线性',名称='out1')(隐藏)
out2=密集(1,激活='线性',名称='out2')(隐藏)
模型=模型(输入=主输入,输出=[out1,out2])
compile(优化器=优化器,loss={'out1':'mean_squared_error','out2':'mean_squared_error'})
回归模型
模型=KerasRegressor(构建=创建模型,批量大小=32,时代=100)
激活=['relu','tanh','sigmoid','linear']
辍学率=[0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]
权重约束=[1,2,3,4,5]
神经元=[10,30,50,70,90]
优化器=['SGD'、'RMSprop'、'Adagrad'、'Adadelta'、'Adam']
时代=[5010015200]
批次大小=[10,20,30,40]
参数网格=dict(神经元=神经元,激活=激活,退出率=退出率,权重约束=权重约束,年代=年代,批次大小=批次大小,优化器=优化器)
grid=GridSearchCV(估计器=模型,参数网格=参数网格,n_作业=-1,cv=5)
网格结果=网格拟合(X\U序列,Y\U序列)
上面代码的最后一行是grid_result=grid.fit(X_train,Y_train)时的错误是ValueError:检查模型目标时的错误:传递给模型的Numpy数组列表的大小不是模型预期的大小。预期会看到2个数组,但会得到以下1个数组的列表:[array([[1.6207054,2.33817343], [ 3.44504814, 6.05534019], [ 1.58155862, 0.8296778 ], ..., [ 1.27446578, 6.71978433], [ 7.99909866, 17.82736535], [ 1.4... 当我创建两个不同的2个输出数组,然后将最后一行重写为grid.fit(X_列[Y[0],Y[1])时,错误是ValueError:找到了样本数不一致的输入变量:[10000,2]

我的数据是10000次观察,有17个输入变量和2个输出变量