Рубрики
Без рубрики

Узнайте Python по строительству инвестиций AI для Fintech – урок4: Рекуррентная нейронная сеть (RNN)

Эта статья была первоначально опубликована по адресу: https: //www.blog.duomly.com/python-course-with-building-a-f … Tagged с Python, MachineLearning, Учебником, начинающими.

Курс Python & Ai (4 части серии)

Эта статья была изначально опубликована в: https://www.blog.duomly.com/python-course-with-building-a-fintech-investment-ai-luen-4-recurrent-Neural-network-rnn

вступление

На сегодняшнем эпизоде курса Python с AI мы узнаем, как делать прогнозы с AI, и мы предсказываем цены.

Последние эпизоды вы можете найти здесь:

Урок 3 – Как создать и обучать AI:

Курс Python со строительством Fintech Investment AI – Урок 3: Как построить и обучать AI

Урок 2 – Как найти финансовые данные и как использовать Pandas:

Курс Python со строительством Fintech Investment Ai – Урок 2: Пандас и получение финансовых данных

Урок 1 – Подготовьте проект AI:

Курс Python со строительством Fintech Investment AI – Урок 1: Начните проект

В четвертом уроке курса AI мы будем использовать AI, который мы создали в предыдущем эпизоде.

Мы предсказываем некоторые первые цены на акции и будут сравнивать с реальными, чтобы иметь представление, если наш AI умный.

Давайте начнем!

Если вы предпочитаете видео, вот версия YouTube:

Подготовьте данные для прогнозирования

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

Создайте функцию с именем «PreparePredictdata» в файле ai.py, ниже функции “undermodel”.

Далее пропустите «стойкосЛозмена» и «столбцы» и «кладовые» на слова.

def preparePredictData(stockPricesLastMonth, stockPricesTest):

Возьмите все данные

В качестве второго этапа подготовки данных мы должны объединить все данные, которые мы имеем в один кадр данных.

Мы можем использовать Pandas «Concat» метод для этого.

Далее нам нужно создать переменную под названием «Predictinputs».

Для этой переменной мы должны назначить все элементы из позиции, которую мы получим расчет, до конца кадра данных.

Расчет – это длина общего количества данных, минус длина последних данных, минус 120 (6 месяцев).

  dataset_total = pd.concat((stockPricesTest['Open'], stockPricesLastMonth['Open']), axis = 0)
  predictInputs = dataset_total[len(dataset_total) - len(stockPricesLastMonth) - 120:].values

Изменить данные

На третьем этапе подготовки данных мы должны изменить наши данные с помощью метода «Reshape».

Это даст нам отформатированный список «predittinputs», и наши данные будут готовы к масштабам позже.

predictInputs = predictInputs.reshape(-1,1)

Масштабирование данных, чтобы соответствовать этому из тренировок и подготовки TestPredicts

Четвертый шаг должен заключаться в том, чтобы принять 20 предметов из «прогнозирования» и добавить их в массив с именем «TestPredicts».

predictInputs = scaler.transform(predictInputs)
testPredicts = []

for i in range(120, 140):
    testPredicts.append(predictInputs[i-120:i, 0])

Сделать 3D-массив и изменить

В качестве последнего шага подготовки данных нам нужно сделать 3D-массив из этих предметов и изменить их.

Далее нам нужно вернуть переменную «TestPredicts».

testPredicts = np.array(testPredicts)
testPredicts = np.reshape(testPredicts, (testPredicts.shape[0], testPredicts.shape[1], 1))

return testPredicts

Предсказывать

Супер, мы сделаем с подготовкой данных сейчас!

Мы можем создать логику, которая предсказует цены на нас.

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

def getPrediction(dataToPredict):
  nextPrices = model.predict(dataToPredict)
  nextPrices = scaler.inverse_transform(nextPrices)
  return nextPrices

Создайте график для сравнения с реальными ценами

Если мы создали логику, которая может предсказать цены, мы хотели бы знать, если Ai близок к реальности.

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

Нам нужно создать график MATPLOTLIB.

Давайте начнем с создания функции с именем «CreateGraph».

def createGraph(nextPrices, stockPricesLastMonth):

Отдельные реальные цены

Затем нам нужно отделить цены «открытия» со всех данных прошлого месяца.

Колонна «Open» является второй в таблице.

Таким образом, мы должны использовать метод «ILOC» и возьмите все значения из этой колонны.

Давайте посмотрим на пример ниже.

real = stockPricesLastMonth.iloc[:, 1:2].values

Создать график

На этом этапе мы можем создать график MATPLOTLIB.

Мы будем использовать зеленый цвет для реальных цен, а оранжевый цвет для прогнозируемых.

plt.plot(real, color = 'green', label = 'Real prices')
plt.plot(nextPrices, color = 'orange', label = 'Prices from ai')
plt.ylabel('Prices')
plt.xlabel('Timestamp')
plt.legend()
plt.show()

Предсказывать

Как мы сделали на предыдущем уроке, нам нужно упаковать всю логику в одну функцию.

Мы будем использовать функцию под названием «прогнозировать» и поместите все функции, которые мы построили сегодня.

def predict():
  stockPricesLastMonth, stockPricesTest = splitData(prices)
  dataToPredict = preparePredictData(stockPricesLastMonth, stockPricesTest)
  predicted = getPrediction(dataToPredict)
  createGraph(predicted, stockPricesLastMonth)

Начать прогноз

Наконец, мы можем запустить прогноз!

Я супер взволнован, мы пришли в этот момент, и, наконец, мы посмотрим на то, насколько умны наш AI.

Давайте назовем функцию с именем «прогнозировать».

predict()

Вывод

Поздравляю!

Теперь ваш проект может получить не только данные, поезд AI, но и предсказывает цены и показывает графики.

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

Это даст вам возможность настроить AI, чтобы получить лучшие результаты.

Репозиторий Code для Урока 4 курса Python находится здесь:

https://github.com/Duomly/python-ai-investment-fintech/tree/Python-AI-course-Lesson-4

Оставайтесь с нами для следующих эпизодов, где мы будем строить следующие потрясающие и интересные вещи вместе.

И не забудьте поделиться информацией о курсе AI с друзьями!

Спасибо за чтение,

Радек из дуоомированного

Курс Python & Ai (4 части серии)

Оригинал: “https://dev.to/duomly/learn-python-by-building-investment-ai-for-fintech-lesson4-recurrent-neural-network-rnn-3hpf”