본문 바로가기

Machine Learning

(19)
Decision Tree 실습 앞에서 정리했던 Decision Tree를 sklearn으로 실습해보자. 2023.12.04 - [Machine Learning] - Decision Tree 먼저 기본적인 패키지를 import 해준다 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns seaborn을 통해 titanic 데이터를 로드하고 간단한 전처리를 수행한다. titanic = sns.load_dataset('titanic') # nan이 대부분인 컬럼 제거 titanic.drop(columns='deck', inplace=True) # 그 밖의 nan값이 포함된 샘플 제거 titanic.dropna(inplace=Tr..
Decision Tree 자료출처 1. 목표 feature들을 기반으로 결과를 분류하거나 예측 결과는 규칙들의 집합 아이가 오늘 놀지 안놀지에 대해서 예측하는 문제를 보자. 맨 위를 보면 노는게 9, 안노는게 5로 총 14일의 데이터가 있다. 맨 위에서는 그 날의 바깥 날씨가 어떤지를 가지고 분기(split)를 하였다. overcast의 경우 play만 있기 때문에 완벽하게 분류되었다. sunny로 분기된 다음에 습도에 따라 분기하였고 rain으로 분기된 다음엔 바람이 부는지 안부는지에 따라 분기하였다. 데이터 분석을 할 때 트리 기반 모델을 사용하는 이유 중 하나가 이런식으로 예측 결과물에 대해 사람의 언어로 설명이 가능하기 때문이다. 2. 용어 정리 root node : 부모 노드가 없고 자식 노드만 있는 노드 leaf no..
KNN K-Nearest Neighbor로 대표적인 지도학습 알고리즘이다. 새로운 데이터가 들어왔을 때 기존 데이터의 그룹 중 어떤 그룹에 속하는지 분류하는 문제를 말한다. 자주 사용되지는 않지만 가끔 성능이 괜찮은 경우가 있다. 이 글을 쓰게된 이유도 지금 하고 있는 경진대회에서 KNN이 성능이 최고는 아니지만 준수한 성능을 보여서 다른 모델과 ensemble을 시도해보려고 하고 그런 김에 내용을 정리해 두면 좋을 것 같아서 쓰게 되었다. 우선 uniform 방식으로 원리를 설명하자면 다음과 같다. 만약에 탐색할 이웃 수를 3로 설정한다면, 새로 들어온 별과 가장 가까운 이웃 3개는 네모 2개, 동그래미 1개이기 때문에 별의 그룹은 네모로 결정된다. sklearn의 KNeighborsClassifier 기준으..