Есть алгоритм кластеризации HDBScan, написанный на Python и частично Cython
Библиотека состоит из нескольких модулей суммарно на ~2500 строк. Ваша задача - переписать этот файл с Python/Cython на Swift. Разбираться в алгоритмах кластеризации не обязательно, но желательно, чтобы портированный алгоритм в итоге работал корректно. Корректность будем проверять тестовым набором векторов: портированный алгоритм должен будет выдать тот же результат для тестовых векторов, что и HDBScan на Python/Cython.
Итоговый результат работы - код в ветке репозитория. Этот код при запуске на локальном айфоне через XCode должен написать в логи итоговые кластеры для тестовых векторов.
Оплата обсуждаема в зависимости от того, сколько вам понадобится времени на задачу
Для решения задачи есть архив:
hdbscan-minify_fixed.zip
Структура архива:
- папка
hdbscan
- модуль, который нужно портировать
- папка
test_vecs
- входящие векторы (input_vecs...
) и результаты работы HDBScan на Python/Cython (output_clusters_vecs...
)
- остальное - нужно для того, чтобы проверить работу алгоритма на Python/Cython. Для этого нужно:
pip install -e .
- компилировать модули cython
python check_on_vecs.py
- прогнать HDBScan на входящих векторах, проверить соответствие результатам-бенчмаркам и написать лог о результате проверки