Задача: используя координату, адрес, дату, код платежа, страну, город, валюту и id терминала предсказать координаты места жительства и координаты работы клиента банка
Цели участия - изучить язык программирования Scala, Apache Spark и алгоритмы машинного обучения
Для решения задачи были применены алгоритмы от mllib GBTClassifier, RandomForestClassifier, DecisionTreeClassifier, KMeans, DBSCAN. Также xgboost binary classification. Помимо алгоритмов машинного обучения, были применены технологии spark Pipeline, CrossValidator
Использованные библиотеки и исходники:
esri geometry https://github.com/Esri/geometry-api-java
DBSCAN https://github.com/mraad/dbscan-spark
xgboost https://github.com/dmlc/xgboost
Spark mllib
Краткий итог: нативные либы от Spark показали себя не очень, максимальный скор был при комбинировании DBSCAN, RandomForest и моим самописным CustomerPointFeature - 0.31. XGBoost с CrossValidation показали себя лучше - 0.365266, 69 место финальном рейтинге