1. min_ samples_split
- 노드를 분할하기 위한 최소한의 샘플 데이수 -> 과적합을 제어하는데 사용한다.
- Default = 2 -> 작게 설정할수록 분할노드가 많아져 과적합 가능성이 증가한다.
2 min_samples_leaf
- Default = 1
- 리프노드가 되기 위해 필요한 최소한의 샘플 데이터수
- 과적합 제어를 위해 사용한다.
- 불균형 데이터의 경우 특정 클래스의 데이터가 극도로 작을수 있으므로 작게 설정 필요
3. max_features
- 최적의 분할을 위해 고려할 feature의 개수
- Default = None -> 데이터 세트의 모든 피처를 사용
- int 형 : 피처개수
- sqrt, auto : 전체 피처중 sqrt(feature)만큼 선정
- log : 전체 피처중 log2(feature)만큼 선정
4. max_depth
- 트리의 최대 깊이
- default = None -> 완벽하게 클래스 값이 결정될때가지 분할
- 깊이가 깊어질수록 과적합될 가능성 증가함
5. max_leaf_nodes
- 리프노드의 최대 개수
6. creiterion
- gini
- DecisionTreeClassfier의 default 값으로 계산이 조금더 빠르나 가장 빈도가 높은 클래스를 한쪽 가지로 고립시키는 경향이 있음
- entropy
- gini보다 균형잡힌 트리를 만들 수 있지만 사실 두 개의 큰 차이는 없다.
7. splitter
- Default = best -> splitter는 특정한 경우가 아니면 best를 쓰는게 좋다고 한다.
참고자료
'DataScience > Python' 카테고리의 다른 글
confusion matrix 식 (0) | 2022.05.17 |
---|---|
[pandas] pd.merge() (0) | 2022.02.21 |
pandas pivot 참고자료 (0) | 2022.02.07 |
Random forest parameters (0) | 2021.12.15 |
[PyTorch] Dataset과 Dataloader는 왜 사용할까 (0) | 2021.03.23 |
댓글