У меня есть данные с различными переменными временными рядами, я хочу обнаружить аномалии с помощью алгоритма леса изоляции.
хотите получить лучшие параметры из gridSearchCV, вот фрагмент кода gridSearch CV.
входной набор данных загружен с фрагментом ниже.
df = pd.read_csv("train.csv")
df.drop(['dataTimestamp','Anomaly'], inplace=True, axis=1)
X_train = df
y_train = df1[['Anomaly']] ( Anomaly column is labelled data).
определить параметры для леса изоляции.
clf = IsolationForest(random_state=47, behaviour='new', score="accuracy")
param_grid = {'n_estimators': list(range(100, 800, 5)), 'max_samples': list(range(100, 500, 5)), 'contamination': [0.1, 0.2, 0.3, 0.4, 0.5], 'max_features': [5,10,15], 'bootstrap': [True, False], 'n_jobs': [5, 10, 20, 30]}
f1sc = make_scorer(f1_score)
grid_dt_estimator = model_selection.GridSearchCV(clf, param_grid,scoring=f1sc, refit=True,cv=10, return_train_score=True)
grid_dt_estimator.fit(X_train, y_train)
после выполнения подгонки получил ошибку ниже.
ValueError: Цель мультиклассовая, но средняя = «двоичная». Пожалуйста, выберите другую среднюю настройку.
Может кто-нибудь подсказать мне, о чем идет речь, пробовал средний = «вес», но все равно не повезло, здесь что-то не так.
пожалуйста, дайте мне знать, как получить F-Score.