본문 바로가기
DataScience/Python

Decision tree parameters

by jusep 2021. 12. 15.

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

  1. gini
    • DecisionTreeClassfier의 default 값으로 계산이 조금더 빠르나 가장 빈도가 높은 클래스를 한쪽 가지로 고립시키는 경향이 있음
  2. entropy
    • gini보다 균형잡힌 트리를 만들 수 있지만 사실 두 개의 큰 차이는 없다. 

7. splitter

  • Default = best -> splitter는 특정한 경우가 아니면 best를 쓰는게 좋다고 한다. 

 

 

 

 

 

 

 

 

참고자료

https://injo.tistory.com/15

'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

댓글