728x90
Machine Learning
25

k-최근접 이웃(k-Nearest Neighbor, kNN)

kNN 알고리즘은 데이터 분류에 사용되는 아주 간단한 지도학습 알고리즘이다. kNN의 이해 kNN 알고리즘은 주변 데이터에게 물어봐서 현재 데이터가 무엇인지 판단하는 알고리즘이라고 할 수 있다. 구체적으로 말하면 기존의 데이터 안에서 현재 데이터로부터 가까운 k개의 데이터를 찾아 k개의 레이블 중 가장 많이 분류된 값으로 현재의 데이터를 분류하는 알고리즘이다. 예를 들어서 주변에 가장 가까이있는 5명에게 "여기는 강남일까요, 강북일까요?"라고 물어보는 상황을 생각해보자. 그리고 4명은 강남, 1명은 강북이라고 대답했다면 현재 위치는 강남이라고 판단할 수 있을 것이다. 바로 여기서 k가 5명을 가리키고 이 방법이 kNN 알고리즘이라 한다. 그렇다면 실제 데이터 간의 거리는 어떻게 알 수 있을까?? 우선 대..

COVID-19 데이터 가공 및 시각화

한글 폰트 사용을 위해 설치 !sudo apt-get install -y fonts-nanum !sudo fc-cache -fv !rm ~/.cache/matplotlib -rf 한글 폰트를 따로 설치해주지 않으면 한글이 '□□□□'로 깨져서 나온다. [출력] Reading package lists... Done Building dependency tree Reading state information... Done fonts-nanum is already the newest version (20170925-1). The following package was automatically installed and is no longer required: libnvidia-common-460 Use 'sudo..

혼동 행렬과 교차 검증

혼동 행렬 혼동 행렬(confusion matrix)는 모델의 성능을 평가할 때 사용되는 지표이다. 예를 들어서 다음과 같은 표를 말한다. 예측값 A B C D 실제값 A 9 1 0 0 B 1 15 3 1 C 5 0 24 1 D 0 4 1 15 여기서 B를 C로, C를 A로, D를 B로 혼동한다는 정보를 알 수 있고 대략적인 모델의 성능도 한 눈에 확인할 수 있다. 모델의 성능은 바로 이 혼동 행렬을 기반으로 하나의 수치로 표현할 수 있다. TP(true positive) TP는 데이터의 실제값을 올바르게 예측한 케이스를 말한다. 아래의 혼동 행렬에서 대각선 부분이 TP이다. 예측값 A B C D 실제값 A 9 1 0 0 B 1 15 3 1 C 5 0 24 1 D 0 4 1 15 TN(true negat..

과대적합과 과소적합

개인적으로 과대적합과 과소적합의 이해가 많이 헷갈렸다. 따라서 여러번 예시를 작성하여 설명하겠다. 과소적합(underfitting): 데이터에서 충분히 특징을 찾아내지 못하고 머신러닝 모델을 학습할 경우 과대적합(overfitting): 필요 이상의 특징으로 학습할 경우 위와 같이 간단하게 적어놓으면 전혀 감을 잡지 못한다. 출처: [https://www.analyticsvidhya.com/blog/2020/08/bias-and-variance-tradeoff-machine-learning/] 위와 같이 수학적으로 데이터에서 필요 이상으로 추출할 경우 분산(variance)이 높아지고, 반대로 필요 이하로 추출할 경우 편향(bias)이 높아진다. 예를 들어 감자를 썰 때 필요 이상으로 썰면 너무 작게 많..

지도학습과 비지도학습

지도학습 지도학습(supervised learning)이란 정답을 알려주면서 진행되는 학습이다. 출처: [https://opentutorials.org/module/4916/28897] 위처럼 학습 데이터와 함께 정답을 항상 제공해줘야 한다. 여기서 정답을 "레이블"이라고 한다. 이외에도 실제값, 타깃, 클래스, y값 등 많은 단어가 정답과 같은 의미로 쓰인다. 그리고 머신러닝 모델을 통해 예측된 값은 예측값, 분류값, y hat 등으로 많이 표현한다. 지도학습은 학습할 데이터와 레이블을 제공하기 때문에 모델의 성능을 손쉽게 평가할 수 있지만 데이터마다 레이블을 달기 위해 시간을 많이 투자해야한다. 대표적으로 분류(classification)와 회귀(regression)이 있는데 간단하게 설명하면 분류는..

728x90