Обнаружение аномалий с помощью изолированного леса для многомерных данных
Я пытаюсь реализовать обнаружение аномалий, используя набор данных, который имеет 3 функции. Я отмасштабировал черты и пошел рисовать.
Как видите, аномалии (выделены желтым цветом) идентифицированы в середине кластера; что для меня не имеет особого смысла.
Я сделал что-то не так? Я ожидал бы, что кто-то будет выбросом, если 1) они использовали огромное количество X, Y или Z или они плавали где-то в середине пространства; что необычно для этого набора данных.
clf = IsolationForest(n_estimators = 1000, contamination = 0.000008, random_state=42).fit(df[['x', 'y', 'z']])
df['prediction'] = pd.Series(clf.predict(df[['x', 'y', 'z']]))
Я сделал что-то явно не так? Я масштабировал функции, чтобы убедиться, что сравниваю яблоки с яблоками.