Метрики классификации не могут обрабатывать сочетание непрерывных и двоичных целей в precision_score - PullRequest
0 голосов
/ 19 марта 2020

Я учусь по нейронным сетям, из boston_Housing, и я получаю ошибку, не знаю, что это значит.

from keras.datasets import boston_housing
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import SGD

(x_train, y_train), (x_test, y_test) = boston_housing.load_data()


neural_model = Sequential([
    Dense(2, input_shape=(13,), activation="relu"),
    Dense(1, activation="sigmoid")
])

neural_model.summary()

neural_model.compile(SGD(lr = .003), "binary_crossentropy", \
                     metrics=["accuracy"])

np.random.seed(0)
run_hist_1 = neural_model.fit(x_train, y_train, epochs=40,\
                              validation_data=(x_test, y_test), \
                              verbose=True, shuffle=False)

print("Training neural network...\n")

print('Accuracy over training data is ', \
      accuracy_score(y_train, neural_model.predict_classes(x_train))

print('Accuracy over testing data is ', \
      accuracy_score(y_test, neural_model.predict_classes(x_test)))

conf_matrix = confusion_matrix(y_test, neural_model.predict_classes(x_test))
print(conf_matrix)

Я получаю эту ошибку:

Classification metrics can't handle a mix of continuous and binary targets at
this point print('Accuracy over testing data is ', \
---> 29       accuracy_score(y_test, neural_model.predict_classes(x_test)))

Кто-нибудь может мне помочь?

1 Ответ

1 голос
/ 31 марта 2020

Вы пытаетесь выполнить classification для набора данных / задачи, которая подходит для регрессии. Ваши цели (y_train и y_test) являются непрерывными значениями, а не дискретными категориями. Полный метод нуждается в исправлении.

  1. Активация слоя Final Dense должна быть изменена с sigmoid на linear или relu
  2. В функции compile, loss должно быть mse
  3. метрики могут быть оставлены пустыми или снова установлены на mae или mse.
  4. Матрица точности и путаницы не может использоваться для оценки

Вы должны проверить некоторые фундаментальные темы в машинном обучении и нейронных сетях, особенно разницу между logisti c и линейной регрессией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...