Чтобы понять, что на самом деле делает isolation forest
, я сделал пример проекта следующим образом, используя 8 функций следующим образом:
from sklearn.ensemble import IsolationForest
#features
df_selected = df[["feature1", "feature2", "feature3", "feature4", "feature5", "feature6", "feature7", "feature8"]]
X = np.array(df_selected)
#isolation forest
clf = IsolationForest(max_samples='auto', random_state=42, behaviour="new", contamination=.01)
clf.fit(X)
y_pred_train = clf.predict(X)
print(np.where(y_pred_train == -1)[0])
Теперь я хочу определить, какие документы выделяются используя isolation forest
.Для этого я тренировал doc2vec
модель, используя gensim
.Теперь для каждого моего документа в наборе данных у меня есть 300-dimensional vector
.
Мой вопрос: могу ли я сразу использовать векторы документа в isolation forest
как X
в приведенном выше коде для обнаружения выбросов?Или мне нужно уменьшить размерность векторов, прежде чем применять их к isolation forest
?
Я с радостью предоставлю более подробную информацию, если это необходимо.