Можете ли вы использовать алгоритм изолированного леса на больших выборках? - PullRequest
1 голос
/ 17 июня 2020

Я использовал реализацию scikit learn sklearn.ensemble.IsolationForest изолированного леса для обнаружения аномалий в моих наборах данных, которые варьируются от сотен строк до миллионов строк данных. Кажется, он работает хорошо, и я переопределил max_samples на очень большое целое число, чтобы обрабатывать некоторые из моих больших наборов данных (по сути, не используя подвыборку). Я заметил, что в исходной статье говорится, что большие размеры выборки создают риск заболачивания и маскировки.

Можно ли использовать изоляционный лес для больших размеров выборки, если кажется, что он работает нормально? Я пробовал тренироваться с меньшим max_samples, и тестирование показало слишком много аномалий. Мои данные действительно начали расти, и мне интересно, будет ли лучше использовать другой алгоритм обнаружения аномалий для такого большого размера выборки.

1 Ответ

3 голосов
/ 23 июня 2020

Цитата из оригинальной статьи:

Характеристики изоляции c iTrees позволяет им строить частичные модели и использовать подвыборку в такой степени, которая невозможна в существующих методах. Поскольку большая часть iTree, которая изолирует нормальные точки, не требуется для обнаружения аномалий; не нужно строить . Небольшой размер выборки дает лучшие деревья, потому что эффекты затопления и маскирования уменьшаются.

Судя по вашему вопросу, у меня такое ощущение, что вы путаете размер набора данных и размер выборки, которую вы возьми из него построить iTree. Лес изоляции может обрабатывать очень большие наборы данных. Он работает лучше, когда делает выборку. центр. Есть мешающие нормальные точки, окружающие кластеры аномалий, и кластеры аномалий более плотные, чем нормальные точки в этой выборке из 4096 экземпляров. На рисунке 4 (b) показана подвыборка из 128 экземпляров исходных данных. Кластеры аномалий четко идентифицируются в подвыборке. Эти нормальные экземпляры, окружающие два кластера аномалий, были удалены, и размер кластеров аномалий стал меньше, что упрощает их идентификацию. При использовании всего образца iForest сообщает, что AU C составляет 0,67. При использовании размера подвыборки 128, iForest достигает AU C, равного 0,91.

enter image description here

Isolation forest is not a perfect algorithm and needs parameter tuning for your specific data. It might even perform poorly on some datasets. If you wish to consider other methods, Коэффициент локальных выбросов также включен в sklearn. Вы также можете комбинировать несколько методов (ансамбль).

Здесь вы можете найти хорошее сравнение различных методов.

...