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

Stonksmaster: Предсказать цены на акции с использованием Python и ML – часть II

Это следующее статья из нашего предыдущего поста. Stonksm … Теги с машиной, Python, учебником, программированием.

STONKSMASTER – предсказать цены на акции с использованием Python & ML 📈

НИРВИК АГАРВАЛ · 2 · 2 · 8 мин читать

Методы ансамбля

Методы ансамбля Это техника машинного обучения, которая использует несколько алгоритмов обучения машины вместе, чтобы получить лучшее Прогнозная производительность это не может быть получено из любой из составных алгоритмов в одиночку. То, как базовые модели объединяются, может варьироваться от простых способов, таких как усреднение или Максимальное голосование Для более сложных, как Усиление или Укладка Отказ

Нарисовать Основное сравнение Мы могли бы сказать, давайте представить себе парламент заполнены членами голосования за определенный законопроект или выражая свое мнение. Пусть Члены могут быть моделями И их мнение являются результатами моделей. Так что решить, проходит ли счет или нет, зависит от членов и их голоса Отказ Аналогичным образом, в ансамбле, изучение окончательного результата основано на исходе каждого из его базовых моделей. Это может быть точная ситуация в случае двукратных задач классификации. Но основная идея одинакова для всех других методов ансамбля. Мы надеемся, что это сделало бы картину более понятной.

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

Подходы ансамбля

Существуют несколько способов использования моделей ансамблей. Есть простые такие как максимальное голосование или усреднение, а также более сложные, такие как усиление, сумка или укладка.

Голосование большинства

Есть три версии голосования большинства, где методы ансамбля выбирают класс –

  • на котором все классификаторы согласны
  • предсказано как минимум на один более половины количества классификаторов
  • это получает наибольшее количество голосов, независимо от того, превышают ли сумма этих голосов 50%

Усреднение

Усреднение – это простой метод, который обычно используется для регрессия проблемы. Здесь мы просто принимаем среднее значение прогнозов, чтобы получить более надежный результат. Хотя этот метод может выглядеть довольно просто, он почти всегда дает лучшие результаты, чем одна модель, отсюда, служащей цели обучения ансамбля.

Средневзвешенное

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

Мешка

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

Усиление

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

Градиентное повышение регресса

В этом руководстве мы будем сосредоточены и использовать Градиентная повышение регрессии (GBR) На DataSet мы использовали в предыдущем уроке, который использовался для прогнозирования акций.

Термин Градиент в Градиентное усиление исходит от того, что алгоритм использует Градиентный спуск используется для минимизации потери. Подробнее на градиентном спуске:

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

Как выглядят деревья решения? Как изображение выше? Определенно нет;) Похоже это:)

Читайте больше на Решение деревьев Отказ

GBR рассчитывает разницу между текущим прогнозом и известным правильным целевым значением, и эта разница называется Остаточный Отказ

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

Общие шаги, которые мы следуем для реализации GBR, являются:

  1. Выбор слабого учащегося (базовая модель)
  2. Использование аддитивной модели
  3. Определение функции потери
  4. Минимизация функции потерь

Преимущества повышения градиента

  • Лучшая точность и точность, чем большинство базовых моделей, таких как случайные леса
  • Менее предварительная обработка данных требуется
  • Более высокая гибкость для лучшего произведения на различных типах входных данных

Параметры усиления градиента

Количество оценок Это обозначено как n_eStimators Отказ Значение по умолчанию этого параметра составляет 100. Количество усиливающих этапов для выполнения. Градиентное усиление довольно устойчивое перенесению, поэтому большое число обычно приводит к лучшей производительности. Другими словами, количество оценок обозначает количество деревьев в лесу. Больше количества деревьев помогает в изучении данных лучше. С другой стороны, больше количества деревьев может привести к более высокому времени обучения. Следовательно, нам нужно найти правильное и сбалансированное значение n_eStimators Для оптимальной производительности.

Максимальная глубина Это обозначено как Максимальная глубина . Значение по умолчанию max_depth 3 и это дополнительный параметр. Максимальная глубина – глубина оценки дерева решений в градиентном повышении регресса. Максимальная глубина ограничивает количество узлов в дереве. Настройте этот параметр для лучшей производительности; Лучшее значение зависит от взаимодействия входных переменных. Нам нужно найти оптимальное значение этого параметра для лучшей производительности.

Оценка обучения Это обозначено как Schity_rate Отказ Значение по умолчанию Schity_rate 0,1 и это дополнительный параметр. Частота обучения представляет собой гиперпараметрический в градиентном усиленном алгоритме регресса, который определяет размер шага при каждой итерации при движении к минимуму функции потери.

Критерий Это обозначено как Критерий Отказ Значение по умолчанию Критерий это Friedman_mse И это дополнительный параметр. Функция для измерения качества раскола. Критерий используется для измерения качества раскола для дерева решений. MSE обозначает Средняя ошибка в квадрате Отказ Значение по умолчанию Friedman_mse Как правило, лучшее, что может обеспечить лучшее приближение в некоторых случаях.

Потеря Это обозначено как потеря Отказ Значение по умолчанию потери – Ls И это дополнительный параметр. Этот параметр указывает на оптимизированную функцию потери. Есть различные функции потери, такие как Ls который стоит наименее квадратов регрессии. Наименее абсолютное отклонение сокращено как парень это еще одна функция потери. Губер это сочетание двух. квантиль обеспечивает квантовую регрессию (используйте альфа, чтобы указать квантиль).

Подгонять Это обозначено как Подгонять Отказ Значение по умолчанию подвыпливают 1,0, а это дополнительный параметр. Подвыми – это доля образцов, используемых для подгонки отдельных учащихся деревьев. Если Подгонять меньше, чем 1,0, это приводит к снижению дисперсии и увеличению смещения.

Количество итерации без изменений Это обозначено n_iter_no_change Отказ Значение по умолчанию Subsample None, и это необязательный параметр. Этот параметр используется для решения того, используется ли ранняя остановка для завершения обучения при оценке валидации не улучшается с дальнейшей итерацией. Если этот параметр включен, он отложит Validation_Fraction Размер данных тренировки в качестве проверки и завершения обучения при оценке валидации не улучшается.

Для получения дополнительной информации о параметрах этой модели обратитесь к этому Документация

Улучшения для базового усиления градиента

Градиентное усиление – это жадный алгоритм и может очень быстро переоценить наборный набор. Поэтому нам нужно настроить модель или улучшить ее, используя различные методы.

Ниже приведены несколько способов улучшения производительности основного алгоритма усиления градиента:

  • Ограничения деревьев
  • Усадка
  • Случайная выборка
  • Наказываемое обучение

Для справки на тюнинг GBR прочитайте здесь Отказ

Основная реализация

Ниже приведена базовая реализация градиентного усиления регресса, используемого на наборе данных IExs Infinance, импортированным в предыдущей части этой статьи:

# GBR
from sklearn import ensemble
# Fit regression model
params = {'n_estimators': 500, 'max_depth': 4, 'min_samples_split': 2,
          'learning_rate': 0.01, 'loss': 'ls'}
model = ensemble.GradientBoostingRegressor(**params)
model.fit(x_training_set, y_training_set)

from sklearn.metrics import mean_squared_error, r2_score
model_score = model.score(x_training_set,y_training_set)
# Have a look at R sq to give an idea of the fit ,
# Explained variance score: 1 is perfect prediction
print('R2 sq: ',model_score)
y_predicted = model.predict(x_test_set)

# The mean squared error
print("Mean squared error: %.2f"% mean_squared_error(y_test_set, y_predicted))
# Explained variance score: 1 is perfect prediction
print('Test Variance score: %.2f' % r2_score(y_test_set, y_predicted))

Мы надеемся, что вы нашли этого проницательного. Посетите наши Сайт Чтобы узнать больше о нас, а также следовать нами на:

Также не забудьте понравиться и комментировать.

До тех пор Будьте в безопасности, а пусть источник будет с вами!

Ришав Рай Кумар

Нирвик Агарваль

Оригинал: “https://dev.to/nitdgplug/stonksmaster-predict-stock-prices-using-python-and-ml-part-ii-5144”