| n_estimators | 결정 트리의 갯수를 지정(기본값=10). 즉, 반복 횟수. 성능에 비례, 속도에 반비례 |
|---|---|
| min_samples_split | 노드를 분할하기 위한 최소한의 샘플 데이터 수. 과적합을 제어하는 데 사용(기본값=2), 값이 작을 수록 분할 노드가 증가하여 과적합 가능성이 높아짐. |
| min_samples_leaf | 리프노드가 되기 위한 최소한의 샘플 데이터 수. 과적합을 제어하는데 사용 |
| max_features | 최적의 분할을 위해 고려할 최대 feature 개수(기본값=auto), int 형일 경우 갯수, float 형일 경우 비율 |
| max_depth | 트리의 최대 깊이(기본값=None). max_depth가 None일 경우 완벽하게 클래스 값이 결정되거나 데이터 개수가 min_samples_split에서 설정한 값보다 작아질 때 까지 분할 |
| max_leaf_nodes | 리프 노드의 최대 개수 |
GridSearchCV
cv : 쪼개는 단위
n_jobs : 실행할 병렬 작업의 수. CPU의 프로세스 수만큼 설정 가능. -1은 모든 프로세서를 사용함을 의미.
불순도지니계수DecisionTree 모델에서 데이터를 나누는 기준은 지니계수이다. DecisionTree 모델에서 중요도는 지니계수가 얼마나 줄어드는지가 기준이 되는 값이다.
Regression 모델의 회귀계수와 달리 항상 양수값을 갖으며, 특성의 모든 특성 불순도를 합치면 1이 된다.
회귀분석 모델에서 각 변수의 설명력을 의미하는 것이 아님에 유의.
from imblearn.under_sampling import RandomUnderSampler
from imblearn.over_sampling import RandomOverSampler
from imblearn.over_sampling import SMOTE
많은 비율을 차지하는 다수 집단에서 일부만 샘플링하는 방식.
소수 집단의 데이터가 어느 정도 확보 되었다고 여겨질 때, 다수 집단의 데이터를 줄여서 균형을 맞춘다.
다수 집단의 유의미한 데이터를 손실할 수 있다는 단점이 존재.
sampling_strategy 파라미터sampling_strategy : 2진 분류일 경우 실수로 설정 가능
| 값 | 설명 |
|---|---|
majority | 다수 클래스만 다시 샘플링 |
not majority | 다수 아님 : 다수 클래스를 제외한 모든 클래스를 다시 샘플링 |
not minority | 소수 아님 : 소수 클래스를 제외한 모든 클래스를 다시 샘플링 |
all | 모든 클래스를 다시 샘플링 |
auto | 자동 처리 |
소수 집단에서 복원 추출을 수행하는 방식.
Under Sampling처럼 데이터 중 일부를 취하는 것은 아니기 때문에 데이터 손실은 발생하지 않지만, 동일한 데이터를 여러 번 학습 데이터에 포함시키므로 학습 정확도는 높지만 과적합 리스크가 존재.
sampling_strategy 파라미터sampling_strategy : 2진 분류일 경우 실수로 설정 가능
| 값 | 설명 |
|---|---|
minority | 소수 클래스만 다시 샘플링 |
not majority | 다수 아님 : 다수 클래스를 제외한 모든 클래스를 다시 샘플링 |
not minority | 소수 아님 : 소수 클래스를 제외한 모든 클래스를 다시 샘플링 |
all | 모든 클래스를 다시 샘플링 |
auto | 자동 처리 |
소수 집단의 데이터를 바탕으로 새로운 데이터를 생성.
단순히 소수 집단의 데이터를 복원 추출하는 것이 아니라 소수 집단 데이터를 분석해 어떤 특징이 있는지 살피고 그와 유사한 패턴을 가지는 가짜 데이터를 생성.
sampling_strategy 파라미터sampling_strategy : 2진 분류일 경우 실수로 설정 가능
| 값 | 설명 |
|---|---|
minority | 소수 클래스만 다시 샘플링 |
not majority | 다수 아님 : 다수 클래스를 제외한 모든 클래스를 다시 샘플링 |
not minority | 소수 아님 : 소수 클래스를 제외한 모든 클래스를 다시 샘플링 |
all | 모든 클래스를 다시 샘플링 |
auto | 자동 처리 |
혹은 실수 타입으로 설정할 경우 샘플 수의 비율을 의미
k_neighbors 파라미터 (int)합성 샘플을 생성하는데 사용할 샘플의 가장 가까운 이웃 수 (기본값=5)
하이퍼 파라미터 튜닝
GridSearchCV
cv : 쪼개는 단위
n_jobs : 실행할 병렬 작업의 수. CPU의 프로세스 수만큼 설정 가능. -1은 모든 프로세서를 사용함을 의미.