05.03 ex04_Decision tree 활용 버섯데이터분류실습

최고고·2022년 5월 3일
0

Decision tree 결정 트리 학습법 은 지도 분류 학습에서 가장 유용하게 사용되고 있는 기법 중 하나

  • 첫질문 Root Node
  • 스무고개처럼 계속 질문을 던짐
    ---->더이상분류할수없는 값들이 나오게됨 Leaf Node(순수노드) 타깃값이 한개


기준을 두고 질문을 하게됨. 질문을 함으로써 불순도를 계산하게 됨

  • 불순도란?

    x축이 커질수록 불순도 높아짐↑
    비율이 절반이 되는 시점 불순도 가장높
    더 가면갈수록 불순도 ↓

    분류- 더 많은 클래스(과반수)를 선택
    회귀- 평균을 구함
  • 트리 최대깊이 : max_depth(깊이가 깊을 수록 모델 복잡도 높아짐)
  • 특성선택 Feature selection
  • 훈련데이터 밖 포인트는 예측x 반면, knn은 새로운값이 들어와도 가까운값을 예측함

Decision tree 활용 버섯데이터분류

맨처음 pandas, sklearn.model_selection패키지의 train_test_split, sklearn.tree패키지의 DecisionTreeClassifier를 import

1. 문제정의
버섯의 특징을 활용해 독/식용 버섯을 분류
특성선택 (Feature selection)해보기

  1. 문제와 답 나눔

  • 7:3 비율로 나눔


    학습시키면
    value error 가나옴


    범주형(이산형) 특성 때문에 인코딩 필요

인코딩 종류!

  • Label Encoding : 학점 등의 순위, 크기 데이터에 좋음 정답데이터를 숫자로 변환
  • One-hot Encoding : 컬럼(=특징)이 많아짐 ---> 과대적합 일어날수도있음

라벨 인코딩을 해준다 !

그다음 원핫 인코딩

다시 훈련데이터, 테스트데이트 나누기

  1. 모델링
    tree 분류모델 생성,
    학습 fit
    예측 predict X_test
    평가모델 metrics import 하고
    예측값, 실제값 평가하기

  2. 시각화

  3. 특성 선택

0개의 댓글