Прежде всего, если вы используете Python, а затем используйте scikit-learn.
Для этой проблемы существует множество возможностей.
Один из способов - использовать алгоритм кластеризации.Для этой цели, чтобы получить аномалию тоже, вы можете использовать DBSCAN.Это алгоритм, разработанный для получения кластера и выбросов.
Еще один способ (при условии, что у вас есть для каждого устройства все их позиции) использовать более забавный способ, например алгоритм кластеризации на всех позициях, чтобы получить важныеместо, и после LDA (скрытое выделение дирихле), чтобы получить основные темы (здесь слова будут индексом кластера, документ будет списком позиций каждого устройства, и поэтому темы будут основными «маршрутами»).