상세 컨텐츠

본문 제목

[국비지원무료교육][빅데이터 개발자 과정][머신러닝] 파이썬- 여섯 번째 수업: 결정 트리

Python/MachineLearning

by Sam_Park 2022. 3. 16. 00:27

본문

- 본 글은 스마트 인재개발원 서포터즈 활동으로 작성한 글입니다

여섯 번째 수업: 결정 트리

  • Decision Tree 알고리즘을 이해할 수 있다.
    • 학습 목표
      • 결측치가 있는지 확인한 수 있다.
        • 아키네이터
      • Label 인코딩과 One0hot 인코딩을 이해할 수 있다.
      • 교차검증기법 이해
      • 정규화(Normalization) 이해
    • Decision Tree결정 트리 (왠지 모르겠지만 트리인데 root( 뿌리 ) 가 맨 위에 있음
    • 관련된 외국 개발자 공부책에 나온 농담.. 개발자가 밖을 안 나가서 나무가 어떻게 생겼는지 몰라서 그렇다고 .. 
      • 예 아니오 질문을 반복하며 학습한다.
      • 분류와 회귀 모두 사용 가능
        • 예시 날개와 지느러미를 물어보고 매/ 펭귄 /돌고래 등을 구분함
        • 타이타닉에서도 중첩된 조건 질문의 반복하여 결정했었음.
      • 첫 번째 가장 중요한 질문으로 하고, 이를 Root Node 루트 노드
      • 마지막 질문이 있는 부분은 Leaf Node. 리프 노드
        • 결정 트리는 뭘 안다구요???-> 질문의 순서, 무엇이 루트 노드이어야 하는지
      • 지니 불순도(Gini Impurity) 가 가장 낮은 것을 중요 질문으로 함
      • Root Node : 불순도가 가장 낮게 나온 질문
      • Leaf Node : 리프 노드에 따라 하나의 데이터 또는 두 종류의 데이터가 섞여 있는 경우도 있음
        • 순수노드 : 타깃 값이 한 개인 리프노드
          • 모든 노드가 순수 노드가 될 때까지 학습하는 것은 복잡, 과대 적합
        • 새로운 데이터 포인트가 들어오면 해당하는 노드를 찾음
          • 분류- 더 많은 클래스로 / 회귀 - 평균 구하기
        • -> 적당하게 분류/회귀 되도록 질문의 수를 조정해줘야 함.
    • 과대적합의 제어
      • 사전 가지치기( PRE-PRUNING) : 노드 생성 미리 중단
      • 사후 가지치기(POST-PRUNING): 만든 후 작은 노드 삭제
        • 사이킷런은 사전 가지치기만 지원
      • 최대 제어
        • max_depth : 노드 최대 깊이 제한( 복잡도 연관)
        • max_leaf_nodes :
      • 최소 제어 :
        • min_dample_split : N 개 이하이면 더 나누지 않도록 제한
        • min_sample_leaf : 리프 노드의 최소 개수 제한 -> 나눈 리프노드의 샘플의 사후적으로 n 개 이하이면 취소
    • 질문은 특성을 분류하여 기계가 생성
    • DecisionTreeClassifier(max_depth, max_leaf_nodes, min_sample_split, min_sample_leaf, criterion)
      • criterion : 지니 또는 엔트로피

관련글 더보기

댓글 영역