Я следую за статьей 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, я получу потери как нан. Зачем? Как решить проблему?
Скорее всего, используемые вами данные будут содержать nan. Удаление этих строк или заполнение этих строк соответствующими значениями решит проблему.
nan
Вы можете проверить nan, используя np.isnan(X)
np.isnan(X)
шаг за шагом следуйте приведенным ниже инструкциям:
Нормализуйте свои данные путем нормализации квантилей. Чтобы быть точным, рассчитайте это преобразование на данных обучения, а не на всем наборе данных.
Добавьте регуляризацию, либо увеличив коэффициент отсева, либо добавив штрафы L1 и L2 к весам.Регуляризация L1 аналогична выбору функций.
Если это по-прежнему не помогает, уменьшите размер вашей сети, чтобы уменьшить параметры сети, которые привели к обучению с меньшим количеством данных.Это не всегда лучшая идея, поскольку она может нанести ущерб производительности.
наконец, увеличение размера пакета может потенциально повысить стабильность оптимизации.