Рефакторинг и оптимизация алгоритма расчета вектора шепля. Код на GO
30 000 руб. за проект
ТЗ на оптимизацию расчета атрибуции по модели вектора Шепли
Необходимо оптимизировать алгоритм расчета Вектора Шепли. Код сейчас написан на GO, но можно использовать любой быстрый быстрый Язык, который сможет выдать необходимый перформанс. Желательно С, С++, Go, Rust
Описание метода расчета - https://medium.com/analytics-vidhya/the-shapley-va...
Также проверить код, на соответствие статье, возможны ошибки
Текущий код на GitHub - https://github.com/smarkov92/shapely
Описание репозитория:
Что делает программа
На вход подаются данные за определенный период. Данные представляют из себя последовательность рекламных источников и их ценность. Далее модель формирует уникальное количество рекламных источников и для каждого из них рассчитывает его ценность, по методу из статьи на медиум.
Все расчеты производились на машине 32 ядра CPU и 128 мб RAM
Проблемы
Что можно делать/менять:
Необходимо оптимизировать алгоритм расчета Вектора Шепли. Код сейчас написан на GO, но можно использовать любой быстрый быстрый Язык, который сможет выдать необходимый перформанс. Желательно С, С++, Go, Rust
Описание метода расчета - https://medium.com/analytics-vidhya/the-shapley-va...
Также проверить код, на соответствие статье, возможны ошибки
Текущий код на GitHub - https://github.com/smarkov92/shapely
Описание репозитория:
- data_for_shap.csv - данные для расчета. Состоит из двух колонок, в первой последовательность рекламных касаний, второй ценность цепочки касаний
- attribution - пакет который рассчитывает атрибуцию.
- model - пакет с одной единственной моделью
Что делает программа
На вход подаются данные за определенный период. Данные представляют из себя последовательность рекламных источников и их ценность. Далее модель формирует уникальное количество рекламных источников и для каждого из них рассчитывает его ценность, по методу из статьи на медиум.
Все расчеты производились на машине 32 ядра CPU и 128 мб RAM
Проблемы
- Кол-во рассчитываемых вариаций, для расчета веса соответствующего канала равняется 2 в N степени, то есть при 30 уникальных канала, это составляет более 2 млрд комбинаций, что сильно расходует ресурсы
- Даже при 30 уникальных каналов, программа часто падает по памяти.
- Время, 27 каналов, занимает около 5 часов расчета
- Сократить время расчета 30 уникальных рекламных источников до 15-20 минут
- Увеличить, максимальное, кол-во уникальных каналов каналов до 50
Что можно делать/менять:
- Все
- Реализовать схему параллельного вычисления на нескольких машинах
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.