22년도 하계 자기설계 공모전

tahn·2022년 12월 10일
0

공모전

목록 보기
1/1

Random Forest

1. 모듈 불러오기

2. 데이터 불러오기

데이터 구조

  • 데이터 : 성인 남녀 스마일 라식 수술 부작용 조사
  • 관측치 개수 : 153개
  • 변수 개수 : 좌안 우안 각각 11개 총 22개

설명 변수(원인, 예측값을 설명할 수 있는 변수 / 부작용을 제외한 나머지 변수는 좌완과 우완 데이터가 다름)

  • 근시 / 원시
  • 난시
  • 난시 축
  • 교정시력
  • 안압 IOP
  • 각막 두께
  • 교정량
  • 잔여각막
  • 야간동공 크기
  • 눈물 분비량
  • 내피세포 검사

반응 변수(결과, 예측하고자 하는 값)

  • 부작용

3. 탐색적 데이터 분석 및 데이터 전처리

X : 독립변수, 예측변수, 입력변수

Y : 종속변수, 반응변수, 출력변수

결측치, 데이터 타입 확인

Train/Test 데이터 분리

  • Training 데이터 80%, / Testing 데이터 20% 나누기

4. 모델링

  • 하이퍼파라미터 결정

4.1 단순 모델링 (사용자가 하이퍼 파라미터 정의)

4.3 전체 하이퍼 파라미터에 대한 Grid search (파라미터 최적화)

- Random Forest Hyperparameter

파라미터 명설명
n_estimators- 결정트리의 갯수를 지정
  • Default = 10
  • 무작정 트리 갯수를 늘리면 성능 좋아지는 것 대비 시간이 걸릴 수 있음 |
    | min_samples_split | - 노드를 분할하기 위한 최소한의 샘플 데이터 수 → 과적합을 제어하는데 사용
  • Default = 2 → 작게 설정할 수록 분할 노드가 많아져 과적합 가능성 증가 |
    | min_samples_leaf | - 리프노드가 되기 위해 필요한 최ㅅ한의 샘플 데이터 수
  • min_samples_split과 함께 과적합 제어 용도
  • 불균형 데이터의 경우 특정 클래스의 데이터가 극도로 작을 수 있으므로 작게 설정 필요 |
    | max_features | - 최적의 분할을 위해 고려할 최대 feature 개수
  • Default = ‘auto’ (결정 트리에서는 default가 none이었음)
  • int 형으로 지정 → 피처 갯수 / float 형으로 지정 → 비중
  • sqrt 또는 auto : 전체 피처중 √(피처 개수) 만큼 선정
  • log : 전체 피처중 log2(전체 피처 개수) 만큼 선정 |
    | max_depth | - 트리의 최대 깊이
  • default = None
    → 완벽하게 클래스 값이 결정될 때 까지 분할
    또는 데이터 개수가 min_samples_split 보다 작아질 때까지 분할
  • 깊이가 깊어지면 과적합 될 수 있으므로 적절히 제어 필요 |
    | max_leaf_nodes | 리프노드의 최대 개수 |
profile
html 개발자

0개의 댓글