# Общее представление об алгоритмах модели

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

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

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

* Цель имеет только два уникальных значения, например, при прогнозировании, отменит ли клиент свою подписку, это значения «Да» или «Нет».

* Целью является строковое значение, содержащее от трех до десяти уникальных значений. К примеру, определение оптимального сочетания кампаний, когда цель — одно из следующих значений: «Красный», «Синий», «Зеленый» или «Желтый».

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

## Алгоритмы для решения задач двоичной и многоклассовой классификации

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

* Классификация методом CatBoost

* Регрессия методом эластичной сети

* Упрощенный Гауссовский алгоритм Байеса

* Регрессия методом лассо

* Классификация методом LightGBM

* Логистическая регрессия

* Классификация методом случайного леса

* Классификация методом CatBoost

## Алгоритмы для решения задач регрессии

Qlik Predict использует следующие алгоритмы для решения задач регрессии.

* Регрессия методом CatBoost

* Регрессия методом LightGBM

* Линейная регрессия

* Регрессия методом случайного леса

* Регрессия методом SGD

* Регрессия методом XGBoost

## Алгоритмы для задач временных рядов

Qlik Predict использует следующие алгоритмы для задач временных рядов:

* Алгоритм DeepAR для прогноза временных рядов

* Миксер временных рядов

* Полносвязный энкодер временных рядов

## Различные типы моделей

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

### Регрессионные модели

Регрессионные модели или общие линейные модели — это модели, которые выявляют тренды вдоль области каждой переменной независимо от другой переменной. Подобно алгебраическому уравнению y = mx+b, алгоритм подбирает такие значения m и b, которые в среднем обеспечат максимальную точность для каждого значения x и y. Как правило, эта же концепция используется при наличии более чем одной переменной. Линейная регрессия и логистическая регрессия являются примерами регрессионных моделей для решения задач регрессии и классификации, соответственно.

В задачах классификации результатом регрессионной модели является вероятность того, что образец будет относиться к положительному классу. Это означает, что значение y равно значению вероятности, а не фактическому значению.

Регрессии хорошо подходят для выявления линейных трендов в данных, но иногда встречаются зависимости, которые не являются линейными. Чтобы регрессию хорошо подогнать к нелинейной модели, перед обучением модели необходимо преобразовать данные. Преимущество линейных зависимостей заключается в том, что они, как правило, лучше всего подходят для [экстраполяции](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/extrapolation-interpolation.htm). В таблице ниже перечислены преимущества и недостатки регрессионных моделей.

| Преимущества | Недостатки |
| --- | --- |
| <ul> <li> <p>Хорошо подходят для экстраполяции</p> </li> <li> <p>Хорошо находят линейные тренды для независимых переменных</p> </li> <li> <p>Хорошо подходят для работы с большими объемами данных из одной совокупности</p> </li> <li> <p>Просты для понимания</p> </li> </ul> | <ul> <li> <p>Плохо подходят для выявления закономерностей между переменными</p> </li> <li> <p>Плохо подгоняются к нелинейным трендам</p> </li> <li> <p>Иногда слишком упрощены </p> </li> </ul> |

### Ансамбли

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

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

| Преимущества | Недостатки |
| --- | --- |
| <ul> <li> <p>Хорошо подходят для выявления закономерностей между переменными</p> </li> <li> <p>Хорошо находят нелинейные тренды</p> </li> <li> <p>Хорошо подходят для работы с большими объемами данных из одной совокупности</p> </li> </ul> | <ul> <li> <p>Плохо подходят для экстраполяции</p> </li> <li> <p>Не так просто интерпретируются</p> </li> </ul> |

### Модели временных рядов

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

Модели временных рядов требуют значительных вычислительных ресурсов.

### Другие типы моделей

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

| Преимущества | Недостатки |
| --- | --- |
| <ul> <li> <p>Хорошо подходят для выявления закономерностей между переменными</p> </li> <li> <p>Хорошо находят нелинейные тренды</p> </li> </ul> | <ul> <li> <p>	Плохо подходят для экстраполяции</p> </li> <li> <p>Требуют больших вычислительных мощностей при увеличении размера набора данных</p> </li> </ul> |