2017-08-06 3 views
1

私はこのexampleを使ってNNモデルを試しています。私はNNモデルに値のリストを当てはめています。しかし、私はAttributeErrorを得ています。これは以前に尋ねられ、答えられました。残念ながら、それは私のために働いていません。例に示したように、私は次の、AttributeError: 'ヒストリ'オブジェクトに属性 'predict'がありません - 列車とテストデータのリストをフィッティング

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' object has no attribute 'predict'

前のthreadsでは、の前の車種に列車はfitではないようです。しかし、私の場合は、2番目のコードスニペットに収めました。私が作っている可能性のある他のミスは何ですか?

+0

私が見つかりました。https://github.com/fchollet/keras/issues/2379これ、私が仕事をしていると思う機能、内部の私の 'model.compile'を持っています。それでも私の頭を包み込むことはできません。 –

答えて

2

model.fit()はKerasモデルを返しませんが、トレーニングの損失とメトリックの値を含むHistoryオブジェクトを返します。したがって、このコードでは、

NNmodelList.append(nn_model.fit(i,j)) 

あなたはモデルではなく履歴オブジェクトのリストを作成しています。簡単な修正は次のようになります。

NNmodelList.append(nn_model) 
nn_model.fit(i,j) 
+0

ありがとう、これは今働いています、この問題について話しているリソースに私を導かせてください。 –

+0

Keras [docs](https://keras.io/)には、APIとその使い方について必要なものがすべて必要です。 –

関連する問題