使用parameter Grid为隔离Fores自定义网格搜索

2024-09-27 07:25:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在建立一个非常基本的无监督的离群点检测器与隔离林。我想用GridSearchCV调整超参数,但是GridSearch需要我没有的标签。我决定构建定制的GridSearch,它将每个计算存储在dataframe中。代码看起来像这样

    params = {
    'n_estimators': [100,125, 150],
    'contamination': [0.0001, 0.001],
    'bootstrap': [True, False],
    'max_features': [1, 2]
}

clf = IsolationForest(random_state=42)
result2 = pd.DataFrame(columns=['n_estimators','contamination','bootstrap','max_features'])
for g in ParameterGrid(params):
    clf.set_params(**params)
    clf.fit(X_train)
    pred_clf = clf.predict(X_test)
    unique, counts = np.unique(pred_clf, return_counts=True)
    result = (dict(zip(unique, counts)))
    result = result2.append([result,params], ignore_index=True)

然而,我在拟合时遇到了一个问题,因为n_估计量要求输入为整数,而不是像本例中那样的列表。在


Tags: trueparamsresultbootstrapmaxfeaturesuniqueclf

热门问题