我建立了一个模型,该模型可以同时为分类任务提供动态(时间序列)和静态特征。该模型可以完美运行,并提供预期的输出。问题是当我要评估模型并使用scikitlearn中的predict_proba绘制ROC和AUC曲线时。
我发现解决方案是使模型顺序化。如何依次使以下模型摆脱此属性错误。
我的模型架构:
mdl_input1 = Input(shape=(X_train.shape[1], X_train.shape[2]))
x = LSTM(100, activation='relu', return_sequences=True)(mdl_input1)
x = LSTM(100, activation='relu', return_sequences=True)(x)
x = LSTM(100, activation='relu', return_sequences=True)(x)
x = LSTM(100, activation='relu')(x)
x = Dropout(0.2)(x)
x = Dense(100, activation='relu')(x)
mdl_input2 = Input(shape=(X_stat_train.shape[1],))
concat = Concatenate([x, mdl_input2])
output = Dense(n_outputs, activation='softmax')(x)
model = Model(inputs=[mdl_input1, mdl_input2], outputs=output)
我得到错误的那一行:
y_probas = model.predict_proba([X_test, X_stat_test])
错误:
AttributeError: 'Model' object has no attribute 'predict_proba'
我的模型示意图: