Я могу использовать "categoryor_crossentropy" в качестве функции потерь без ошибок, но когда я заменяю ее на "mse", возникает эта ошибка:
Ошибка при проверке цели: ожидается, что плотность_2 будет иметь форму (2,)но получил массив с формой (1,)
Если я использую следующий метод
labels = np_utils.to_categorical(labels, num_classes = 2)
, возникает другая ошибка:
Поддерживаются целевые типы: ('бинарный', 'мультикласс').Вместо этого получил 'multilabel-Indicator'.
Вопрос в том, как я могу использовать "mse" с функцией cross_val_score ()?
Это ссылка на github иЭто проблемный код:
model = KerasClassifier(build_fn=customXceptionBuild, epochs=epochs, batch_size=batch_size)
kfold = StratifiedKFold(n_splits=folds, shuffle=True, random_state=random_state)
def classification_report_with_accuracy_score(y_true, y_pred):
originalclass.extend(y_true)
predictedclass.extend(y_pred)
return accuracy_score(y_true, y_pred) # return accuracy score
scoring = make_scorer(classification_report_with_accuracy_score)
scores = cross_val_score(model, data, labels, cv=kfold, error_score="raise", scoring=scoring )
Функция customXceptionBuild реализует предварительно обученную модель Xception и использует «mse» в качестве функции потерь.