我不能使用“ PermutationImportance”

问题描述

我正在尝试使用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 (将#修改为@)