Выбор формы Keras- ValueError: ожидалось, что dens_1_input будет иметь форму (8,), но получил массив с формой (13,) - PullRequest
0 голосов
/ 23 октября 2019

Я сделал нейронную сеть для финального проекта, но когда я его запускаю, выдает «ValueError: Ошибка при проверке цели: ожидается, что плотность_3 имеет форму (6,), но я получил массив с формой (1,)»Совершенно новый для кодирования и очень потерян. Прикрепил ссылку на колабы. Спасибо:)

[https://drive.google.com/file/d/1dcUuTVVDGwxHn2O5qqJk0wgiEf83MslN/view?usp=sharing][1]

Набор данных: https://www.kaggle.com/camnugent/california-housing-prices

Поэтому я изменил форму на несколько чисел, и каждый раз, когда он говорит мне, чтобы изменить на 6, когда я перехожу на 6, это дает мне другие цифры. Я также запустил команду "print (X_train.shape)", которая дала мне "(16512, 6)"

model = Sequential()
model.add(Dense(32, input_shape=(6,), activation='relu'))

Я хотел бы, чтобы нейронная сеть работала и предсказывала цены на жилье.

1 Ответ

1 голос
/ 23 октября 2019

Прогнозирование цены на жилье является проблемой регрессии, поскольку целевая метка / выходная единица представляет собой единую (стоимость жилья) непрерывную величину. Следовательно, конечный плотный слой вашей модели должен иметь только одну единицу / нейрон с линейной функцией активации, тогда как у вас есть 2 единицы с sigmoid активацией. Кроме того, вам следует скомпилировать вашу модель с mean_squared_error функцией потерь.

model.add(Dense(1))  # Default activation is Linear
model.compile(Adam(lr=0.05), loss='mean_squared_error')

Надеюсь, это поможет.

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

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