2017-10-05 20 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上提出另一个新错误的问题。 –