2017-10-05 56 views
0
from keras.models import Sequential 
from keras.layers import Dense 
from keras.wrappers.scikit_learn import KerasClassifier 
from sklearn.model_selection import StratifiedKFold 
from sklearn.model_selection import cross_val_score 
import numpy 

#Function to create model, required for KerasClassifier 
def create_model(): 
    classifier = Sequential() 
    classifier.add(Dense(12, input_dim=8, activation='relu')) 
    classifier.add(Dense(8, activation='relu')) 
    classifier.add(Dense(1, activation='sigmoid')) 
    classifier.compile(optimizer = 'adam',loss="mean_squared_error") 
    return model 

seed = 7 
numpy.random.seed(seed) 

model = KerasClassifier(build_fn=create_model, epochs=100, batch_size=32, verbose=0) 
kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=seed) 
results = cross_val_score(model, X_train, y_train, cv=kfold) 
print(results.mean()) 

AttributeError的交叉驗證:「KerasClassifier」對象有沒有屬性「損失」如何申請鉀對迴歸類型的目標變量

I am getting an error as the loss does not belong to kerasClassifier and I tried KerasRegressor also still same error I am getting.solve my issue.

回答

0

在create_model()函數,你應該返回「分類',而不是全球「模式」變量。

+0

是的,我糾正了它,但仍然顯示一些錯誤 –

+0

這個錯誤是否與'AttributeError:'KerasClassifier'對象沒有屬性'損失''一樣嗎?如果你有不同的錯誤,你可以接受這個答案,並在SO上提出另一個新錯誤的問題。 –