Skip to content
4 / 10

LOF и локальная плотность: когда нужен и почему его нельзя просто применить к новым данным?

LOF сравнивает плотность вокруг точки с плотностью вокруг её соседей. Значение около 1 — точка живёт так же тесно, как её окружение; заметно больше 1 — вокруг неё пусто по меркам соседей, это локальная аномалия. Именно локальность отличает LOF от глобальных методов: он находит точку, которая лежит в разрежённой области между двумя плотными кластерами, хотя по абсолютному расстоянию до центра данных ничем не выделяется. Цена — вычислительная сложность (поиск k ближайших соседей для каждой точки, порядка O(n²) без индексов) и чувствительность к выбору k и метрики. Главная практическая ловушка: обычный LOF — трансдуктивный метод, он считает скоры для той же выборки, на которой построен, и у него нет predict для новых точек. Для потока нужен режим novelty (в scikit-learn LocalOutlierFactor(novelty=True)), который фиксирует обучающую выборку как эталон плотности; тогда появляется метод predict, но модель уже нельзя оценивать на обучающих данных.

LOF и локальная плотность: когда нужен и почему его нельзя просто применить к новым данным? | JScriptiser