我正在尝试使用示例来构建一个神经网络模型。我正在将一系列数值拟合到神经网络模型中,但是出现了AttributeError
错误。这个问题之前已经被问过并得到了解答,但是对我来说不起作用。如示例所示,我创建了以下内容:
from keras.models import Sequential
from keras.wrappers.scikit_learn import KerasRegressor
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from keras.layers import Dense
def neuralnetmodel():
#Crete model
model = Sequential()
model.add(Dense(13, input_dim = 13, kernel_initializer = 'normal', activation = 'relu'))
model.add(Dense(1, kernel_initializer = 'normal', activation = 'relu'))
model.add(Dense(1, kernel_initializer = 'normal', activation = 'relu'))
## Output layer
model.add(Dense(1, kernel_initializer = 'normal'))
#Compile model
model.compile(loss = 'mean_squared_error', optimizer = 'adam')
return model
fit
训练数据,
NNmodelList = []
for i,j in zip(X_train_scaled,y_train):
nn_model = KerasRegressor(build_fn= neuralnetmodel, nb_epoch = 50, batch_size = 10, verbose = 0)
NNmodelList.append(nn_model.fit(i,j))
predict
从测试数据中预测结果,
PredList = []
for val in X_test_scaled:
for mod in NNmodelList:
pred = mod.predict(val)
PredList.append(pred)
现在,我遇到了以下错误:
AttributeError: 'History'对象没有属性'predict'
在之前的帖子中,似乎是在predict
之前模型没有将训练集fit
。然而,在我的代码中,我在第二个代码片段中对它们进行了拟合(fit)。有什么其他可能的错误吗?
model.compile
放在函数里面,我猜这样做是可以的。但我仍然无法理解我可能犯了哪些其他错误。 - i.n.n.m