Я делаю кластеризацию изолированного леса на базе данных mulcross с 2 классами.Я делю свои данные на обучающие и тестовые наборы и пытаюсь вычислить оценку точности, roc_auc_score и confusion_matrix на моем тестовом наборе.Но есть две проблемы: первая состоит в том, что в методе кластеризации я не должен использовать метки на этапе обучения, это означает, что "y_train" не следует упоминать, но я не нашел другого решенияоценить мою модель.Более того, результаты, которые я нашел, неверны. Моя проблема заключается в том, как оценить модель кластеризации, такую как лес изоляции. Вот мой код:
df = pd.read_csv('db.csv')
y_true=df['Target']
df_data=df.drop('Target',1)
X_train, X_test, y_train, y_test = train_test_split(df_data, y_true, test_size=0.3, random_state=42)
alg=IsolationForest(n_estimators=100, max_samples= 256 , contamination=0.1, max_features=1.0, bootstrap=False, n_jobs=-1, random_state=42, verbose=0, behaviour="new")
model = alg.fit(X_train, y_train)
preds = alg.predict(X_test)
print("#############################\n#############################")
print(accuracy_score(y_test, preds))
print(roc_auc_score(y_test, preds))
cm = confusion_matrix(y_test, preds)
print(cm)
print("#############################\n#############################")