Уже отвечал в комментариях: "подозрительная активность" - любое действие, вытекающие из привычного хода событий. По поводу приведенного вами примера - это статичная картина, именно поэтому и поднят вопрос машинного обучения. Может быть пользователю это действительно нужно: сидеть и постоянно переименовывать каталоги, система должна быть готова и к подобной модели поведения. Алгоритм должен динамически составить модель пользователя и потом каждое действие пытаться вписать в эту модель, то есть высчитывать некое отклонение от "нормального" поведения.
Возвращаясь к практике: я строю статический граф, где после каждого действия есть возможный набор других действий и по пользовательской статистике присваиваю вероятность каждому действию или как-то иначе ее высчитываю? что делать дальше с подобной информацией мне понятно, непонятен именно момент получения вероятности.
Так в тот то и дело, что определить подозрительные метрики невозможно, их либо нет вообще, либо критически мало, что провести какую-то классификацию. Из того что я читал и как я понял материал, именно поэтому эта задача и относится к обучению без учителя. А по поводу самого определения - любое действие, выбивающееся из привычного хода событий. Я пытался решить эту задачу с использованием наивного байесовский классификатора, но по уже определенным причинам просто не смог объяснить классификатору, что такое плохо.
Полностью с вами согласен и по поводу сложности задачи, и по поводу неэффективности того, о чем я спрашивал, но нюанс в том, что именно по этому я об этом и спрашиваю. Я не планирую связывать свою жизнь с этим и как-то детально разбираться в этой области, я хочу просто это прочувствовать, хотя бы на таких примитивных примерах, сделать хоть что-то, что хоть как-то работает, не более.
Пишу в первую очередь с целью самообразования. Тест статичен (список вопросов не является тайной), грузиться полностью с сервера клиенту, далее за все отвечает JS, пока не придет пора узнать результаты, для этого идет запрос на сервер, возможно будет Ajax.
Большое спасибо, в итоге переустановил систему, так как и флешку решил немного по другому поделить (первый раздел для "флешковых" нужд, ntfs, сделал поменьше и от LUKS отказался. Поставил много основных дров, на brtfs теперь все со сжатием и trim, статья пригодилась, например не знал, что следует autodetect убирать. Модификация исходника - скорее всего подойдет, но это надо разбираться, сейчас нет ни времени, ни желания, но в список на почитать занёс. Еще раз спасибо!
Сложностью встроить данный метод конкретно в этот проект, с его взаимосвязями объектов и прочим. Использование time.AfterFunc потребовало бы гораздо большей реорганизации кода. В целом да, это решение.
Я думал об этом, сложно объяснить почему отказался, собственно и не буду.. Но это конкретно в данном проекте, в других подобных задачах это эффективное решение. В дополнение, я не знал, что time.AfterFunc создает ссылку на таймер, не знал что он вообще работает поверх него, за что отдельное спасибо.
Да, спасибо, подобное было одним из моих "несколько вариантов". Я не хочу говорить за производительность, не думал в эту сторону, в плане каково оно регулярно бегать по всем сессиям за место потока и сна для каждой, но как минимум чисто из соображений эстетичности мне данный вариант не сильно понравился, но он естественно имеет право на жизнь.