Результаты случайной регрессии нейронной сетиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Результаты случайной регрессии нейронной сети

Сообщение Anonymous »

У меня есть много стандартизированных и минимально масштабированных данных датчиков, включая дюжину категориальных функций (одна с горячим кодированием). С другой стороны, у меня есть целое число (не предварительно обработанное), которое чуть больше 0, которое я хочу предсказать с помощью модели нейрональной регрессии.
Features = (77487, 204)
Цели = (77487, 1)

Код: Выделить всё

#Hyperparameters
method = 'mse'
lr = 0.001
par_epochs = 100
par_batch = 64

#Model

# Modell
model = Sequential()
model.add(Input(shape=(X_train.shape[1],)))

model.add(Dense(512, activation=None))
model.add(BatchNormalization())
model.add(ReLU())
model.add(Dropout(0.3))

model.add(Dense(256, activation=None))
model.add(BatchNormalization())
model.add(ReLU())
model.add(Dropout(0.3))

model.add(Dense(128, activation=None))
model.add(BatchNormalization())
model.add(ReLU())
model.add(Dropout(0.3))

model.add(Dense(64, activation=None))
model.add(BatchNormalization())
model.add(ReLU())

model.add(Dense(32, activation=None))
model.add(ReLU())

model.add(Dense(len(column_targets), activation='linear))

#Prepare
model.compile(optimizer=Adam(learning_rate=lr), loss=method, metrics=[method])
model.summary()

#Train
history = model.fit(
X_train, y_train,
epochs=par_epochs,
batch_size=par_batch,
validation_data=(X_val, y_val),
verbose=1
)

#Show
test_loss, test_mae = model.evaluate(X_test, y_test, verbose=2)
predictions = model.predict(X_test, batch_size=par_batch)

plt.figure(figsize=(8, 8))
plt.scatter(y_test, predictions_rounded, alpha=0.6)
plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--', lw=2)
plt.title('Predicted vs True Values')
plt.xlabel('True Values')
plt.ylabel('Predicted Values')
plt.show()
И хотя мне кажется, что прогресс нормальный
[img]https://i.sstatic. net/lCjcnd9F.png[/img]

Я не чувствую, что нейронная сеть чему-то обучается, потому что я просто всегда получаю «предсказание блока»
:
Изображение

Я перепробовал почти все потери, балансировку веса, компоненты архитектуры и другие вещи, найденные в Google, но всегда просто получите «предсказание блока».
Может быть, мои данные просто плохие, и, конечно, это мое дело, но, поскольку я новичок в нейронных сетях, я задавался вопросом, не допустил ли я серьезных ошибок в своем Архитектура или кто-то мог бы дать мне подсказка или подсказка. Я просто не знаю, данные это или моя архитектура.
Спасибо,
Нис
  • MSE, MAE, потери Хубера
  • Веса Ln
  • Все гиперпараметры (партия, эпоха)
  • Разные Сложность (глубокая)
  • Разные нейроны
  • Различные функции активации
  • Удаление слоев, пакетная нормализация


Подробнее здесь: https://stackoverflow.com/questions/791 ... on-results
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»