Как мне уменьшить «шум» в модели на python?

#python #matplotlib #machine-learning #noise-reduction

#python #matplotlib #машинное обучение #шумоподавление

Вопрос:

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

Пример вывода здесь

 from matplotlib import pyplot as plt
plt.figure()
plt.plot(y_pred_org)     # real price over time
plt.plot(y_test_t_org)   # predicted price over time
plt.title('Prediction vs Real Stock Price')
plt.ylabel('Price')
plt.xlabel('Days')
plt.legend(['Prediction', 'Real'], loc='upper left')
plt.show()
 

Комментарии:

1. Вы можете рассчитать скользящее среднее, чтобы получить более плавную кривую

Ответ №1:

У вас есть несколько вариантов:

  • Как заявил @Juan C, вы можете рассчитать скользящее среднее.
  • Или вы можете выбрать меньшее количество выборок, а затем использовать интерполяцию сплайнов для сглаживания кривой, как описано здесь: https://www.kite.com/python/answers/how-to-plot-a-smooth-line-with-matplotlib-in-python

Ответ №2:

используйте standardscaler или minmaxscaler для нормализации ваших данных. Кроме того, если у вас есть значения nan, используйте интерполяцию для сглаживания данных. Изучите предварительную обработку ваших данных. Дайте мне знать, если вам нужна помощь

смотрите (https://github.com/dnishimoto/python-deep-learning/blob/master/College Graduate Admission SVC.ipynb) Я использую scaler для нормализации данных в конвейере