问题描述
我正在尝试使用eli5的排列重要性来检查变量的重要性。 但是出现以下错误。
perm = PermutationImportance(model,random_state=1,scoring=mae_scorer)
perm.fit([X_test,X_spec_test],y_test)
ValueError:无法将输入数组从形状(2079,20,28,2)广播到形状(2079)
此模型在CNN的中间插入一个Dense层,因此我们在数组中传递两个输入([X_test,X_spec_test])。 可以使用以下代码完成正常的培训和验证,而不会出现任何问题。
fit = model.fit([X_train,X_spec_train],y_train,epochs=epochs,batch_size=batch_size,validation_data = ([X_test,y_test),verbose=1)
y_train_pred = model.predict([X_train,X_spec_train])
每个变量的形式如下:
X_test.shape为(2079,20,28,2)
X_spec_test.shape为(2079,45)
y_test.shape是(2079,)
模型的输入层定义如下。
input1 = Input(shape=(X_train.shape[1],X_train.shape[2],X_train.shape[3]]))
input2 = Input(shape=(X_spec_trainshape[1],))
如何消除错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)