Методы машинного обучения (регрессии, классификации) как агрегатные функции

Материал из Wiki - Факультет компьютерных наук
Версия от 14:53, 15 октября 2018; Aapoludnitsin (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Компания Яндекс
Учебный семестр Осень 2018
Учебный курс 3-4-й курс
Максимальное количество студентов, выбравших проект: ?



"Агрегатные функции - это функции над множеством (потоком) данных. Примеры: сумма, среднее, гистограмма... Одно из преимуществ архитектуры ClickHouse состоит в том, что состояния вычислений агрегатных функций являются ""first class citizens"". Вы можете получить промежуточное состояние вычисления агрегатной функции как полноценное значение: сохранить его в таблицу, проводить с ним всевозможные манипуляции. Это может использоваться, например, для инкрементальной агрегации потоков данных.

В связи с этим является интересной идеей оформить простые методы регрессии и классификации в виде агрегатных функций. Состояния агрегатных функций будут обновляться (обучаться) по потоку данных, который им передаётся. Одновременно с этим, текущее состояние агрегатной функции можно использовать в виде обученной формулы. Таким образом мы получим возможность онлайн обучения в ClickHouse путём создания агрегирующего materialized view над таблицей.

Сначала мы добавим наиболее простые методы - линейную и логистическую регрессию, байесовский классификатор; а затем любые алгоритмы на ваш вкус.