Рефакторинг и оптимизация алгоритма расчета вектора шепля. Код на GO

30 000 руб. за проект
28 октября 2022, 20:04 • 11 откликов • 90 просмотров
ТЗ на оптимизацию расчета атрибуции по модели вектора Шепли
Необходимо оптимизировать алгоритм расчета Вектора Шепли. Код сейчас написан на GO, но можно использовать любой быстрый быстрый Язык, который сможет выдать необходимый перформанс. Желательно С, С++, Go, Rust
Описание метода расчета - https://medium.com/analytics-vidhya/the-shapley-va...
Также проверить код, на соответствие статье, возможны ошибки

Текущий код на GitHub - https://github.com/smarkov92/shapely

Описание репозитория:

  1. data_for_shap.csv - данные для расчета. Состоит из двух колонок, в первой последовательность рекламных касаний, второй ценность цепочки касаний
  2. attribution - пакет который рассчитывает атрибуцию.
  3. model - пакет с одной единственной моделью

Что делает программа

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

Все расчеты производились на машине 32 ядра CPU и 128 мб RAM

Проблемы

  1. Кол-во рассчитываемых вариаций, для расчета веса соответствующего канала равняется 2 в N степени, то есть при 30 уникальных канала, это составляет более 2 млрд комбинаций, что сильно расходует ресурсы
  2. Даже при 30 уникальных каналов, программа часто падает по памяти.
  3. Время, 27 каналов, занимает около 5 часов расчета
Что нужно:

  1. Сократить время расчета 30 уникальных рекламных источников до 15-20 минут
  2. Увеличить, максимальное, кол-во уникальных каналов каналов до 50

Что можно делать/менять:
  1. Все
  2. Реализовать схему параллельного вычисления на нескольких машинах
Отзывы
Очень рекомендую данного специалиста
1 год назад
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Фрилансер
Вежливый и адекватный заказчик, понятное ТЗ, быстрая оплата. Рекомендую!
1 год назад