데이터 분석

13. 의사 결정 나무

Uno_says 2024. 7. 9. 17:29
728x90

데이터: bike.csv

 

1. bike 데이터셋

  • datetime: 날짜
  • count: 대여 개수
  • holiday: 휴일
  • workingday: 근무일
  • temp: 기온
  • feels_like: 체감온도
  • temp_min: 최저온도
  • temp_max: 최고온도
  • pressure: 기압
  • humidity: 습도
  • wind_speed: 풍속
  • wind_deg: 풍향
  • rain_1h: 1시간당 내리는 비의 양
  • snow_1h: 1시간당 내리는 눈의 양
  • clouds_all: 구름의 양
  • weather_main: 날씨

 

 

결측치 확인하고 채우기

2020년 4-5월 그래프 이상 발견

 

 

📌covid에 따라 데이터 분류하기

 

 

📌season에 따라 데이터 분류하기

 

 

📌day night에 따라 데이터 분류하기

 

필요없는 열 삭제하기

 

대여개수('count') 예측하기

 

 

 

2. 의사 결정 나무(Decision Tree) 

  • 데이터를 분석하고 패턴을 파악하여 결정 규칙을 나무 구조로 나타낸 기계학습
  • 간단하고 강력한 모델 중 하나로, 분류와 회귀 문제에 모두 사용
  • 엔트로피: 데이터의 불확실성을 측정. 특정 속성으로 데이터를 나누었을 때, 엔트로피가 얼마나 감소하는지를 계산하여 정보를 얻음. 정보 익득이 높은 속성을 선택하여 데이터를 나누게 됨.
  • 지니계수: 데이터의 불순도를 측정하는 또 다른 방법. 임의로 선택된 두 개의 요소가 서로 다른 클래스에 속할 확률을 나타냄. 지니 불순도가 낮을수록 데이터가 잘 분리된 것
  • 의사 결정 나무는 오버피팅이 매우 잘 일어남

 

 

 

3. 선형 회귀 vs 의사 결정 나무

 

📌선형 회귀

 

 

📌하이퍼 파라미터 적용

하이퍼 파라미터는 모델의 성능에 직접적인 영향을 미치는 요소들이다. 'random_state', 'max_depth', 'min_samples_leaf' 등의 매개변수들을 올바르게 설정하면 모델이 데이터를 잘 학습하고 일반화할 수 있도록 도와준다.

 

 

💡결론

세 가지의 방법을 모두 학습시킨 결과 하이퍼 파라미터를 사용한 의사 결정 나무가 가장 성능이 좋은 걸 알 수 있다.

 

 

 

의사 결정 나무 시각화

 

 

각 특성(feature)의 이름을 지정하여 시각화

 

728x90