Обнаружение аномалий с помощью Python - PullRequest
0 голосов
/ 11 апреля 2019

Мне нужно создать этот механизм: у меня есть набор данных, содержащий статистику репозитория Git (например, количество коммитов в день, количество строк кода, редактируемых в день, и т. Д. Не более 4 или 5 полей).Я должен использовать алгоритм обнаружения аномалий, который анализирует этот набор данных и запускает оповещение при обнаружении значений, отличных от нормальных.

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

Я должен реализовать эту систему на Python.

Из того, что я читал в Интернете, чтобы сделать эту систему, вам нужно использоватьнеконтролируемое машинное обучение.В последние несколько месяцев я проходил курс машинного обучения и знаю, как использовать Sklearn библиотеки Python (немного).Но я не настоящий специалист по машинному обучению и не знаю, что делать.К сожалению, в Интернете я нахожу только очень теоретические учебники (написанные специалистом по данным), и я не понимаю, что я должен делать на практике.

Может кто-нибудь посоветовать мне, что делать и что использовать?

Есть ли более или менее простое решение моей проблемы?Спасибо.

1 Ответ

0 голосов
/ 12 апреля 2019

Установите на данные модель Гауссовой смеси или Изоляционный лес и выберите порог для того, что считать аномалией.

Как и во всех подобных проблемах,существует компромисс между отзывом и точностью.Чтобы оценить ваше решение, вы должны выявить некоторые аномалии путем проверки и пометить их как таковые.Затем они могут быть частью вашего набора для валидации и тестирования.Учебный набор не будет содержать аномалий (или только небольшое их количество).

...