Как получить главные прогнозы изоляции леса в склеарне - PullRequest
0 голосов
/ 01 ноября 2019

Я использую изоляцию леса следующим образом для обнаружения точек данных выбросов моего набора данных.

#isolation forest
clf = IsolationForest(max_samples='auto', random_state=42, behaviour="new", contamination=.01)
clf.fit(X)
y_pred_train = clf.predict(X)

outliers = []
for item in np.where(y_pred_train == -1)[0]:
    outliers.append(df_nodes[item])   

Я хочу, чтобы прогнозируемые выбросы были в ранжированном списке. То есть я хочу знать, что было наиболее вероятным выбросом и следующим, и так далее (может быть отсортировано с использованием некоторой вероятности прогнозирования). Я пытался найти способ сделать это в sklearn. Однако я так и не смог найти выход. Пожалуйста, дайте мне знать подходящий способ сделать это.

Я рад предоставить более подробную информацию, если это необходимо.

1 Ответ

1 голос
/ 01 ноября 2019

Вместо использования predict используйте decision_function.

Из документов :

Методы принятия решений Функция (self, X) Средняя оценка аномалиииз X базовых классификаторов.

Затем вы можете ранжировать их на основе их оценки аномалии. Чем ниже это значение, тем ненормальнее наблюдение.

...