Почему я получаю Нэн за потерю Кераса? - PullRequest
0 голосов
/ 16 апреля 2019

Я следую за статьей https://www.analyticsvidhya.com/blog/2018/10/predicting-stock-price-machine-learningnd-deep-learning-techniques-python/.

Сначала я попытаюсь использовать данные в статье, т.е. https://s3 -ap-south-1.amazonaws.com / av-blog-media / wp-content / uploads / 2019/03 / NSE-TATAGLOBAL11.csv . Сценарий выдает тот же результат, что и статья.

Затем я пытаюсь загрузить другой набор данных из Yahoo Finance. Набор данных больше (2805 строк, а не 1000+ строк в наборе данных образца статьи). Тем не менее, после использования метода LSTM, я получу потери как нан. Зачем? Как решить проблему?

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Скорее всего, используемые вами данные будут содержать nan. Удаление этих строк или заполнение этих строк соответствующими значениями решит проблему.

Вы можете проверить nan, используя np.isnan(X)

0 голосов
/ 16 апреля 2019

шаг за шагом следуйте приведенным ниже инструкциям:

  1. Нормализуйте свои данные путем нормализации квантилей. Чтобы быть точным, рассчитайте это преобразование на данных обучения, а не на всем наборе данных.

  2. Добавьте регуляризацию, либо увеличив коэффициент отсева, либо добавив штрафы L1 и L2 к весам.Регуляризация L1 аналогична выбору функций.

  3. Если это по-прежнему не помогает, уменьшите размер вашей сети, чтобы уменьшить параметры сети, которые привели к обучению с меньшим количеством данных.Это не всегда лучшая идея, поскольку она может нанести ущерб производительности.

  4. наконец, увеличение размера пакета может потенциально повысить стабильность оптимизации.

...