1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # GridSearchCV(모델, param_grid, cv, scoring, n_jobs, verbose) from sklearn.ensemble import IsolationForest param_grid = { 'n_estimators':[50, 100, 150], 'max_samples':[50, 100, 150, 200], 'contamination':[float(0.004), float(0.1), float(0.5), 'auto'] }
# 전처리를 거친 x_train으로 grid search cross validation 수행 grid_search = GridSearchCV(IsolationForest(max_features=1.0, bootstrap=False, random_state=42,), param_grid=param_grid, cv=10, n_jobs=-1, verbose=0, scoring = 'accuracy') grid_search.fit(dataset)
# 가장 좋은 성능을 보인 파라미터 조합의 estimator을 model에 저장 model = grid_search.best_estimator_
# dataset 데이터를 예측 및 성능 평가 data_pred = model.predict(dataset)
#이상치 값 개수 -data_pred[data_pred == -1].sum() #1038개
## 그리드 서치 결과 # IsolationForest(contamination=0.004, max_samples=50, n_estimators=50, random_state=42)
|