일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 앙상블
- dotenv
- vuetify
- VUE
- scss
- git
- BOJ
- C#
- condition
- loop
- C++
- TypeScript
- Clone
- leetcode
- nginx
- var
- AI
- type
- npm
- JavaScript
- generic
- webpack
- machine learning
- vue.js
- 보안
- property
- security
- bash
- Python
- docker
Archives
- Today
- Total
ice rabbit programming
[AI] 분류 - KNN, 평가 지표 본문
이전 글에서 SVM과 나이브 베이즈 분류에 대해서 다루었다. 이번 글에서는 KNN 기법을 정리하고 회귀 때와 마찬가지로 평가 기법에 대해서 작성하려고 한다.
KNN
KNN(K-Nearest Neighbor)는 기존 데이터 중에 가장 가까운 K개 이웃의 정보로 새로운 데이터를 예측하는 분류 기법이다. KNN은 한 가지 가정을 두고 분류하는데, 유사 특성 데이터는 유사 범주에 속하는 경향이 있다는 것을 전제로 한다.
예를 들자면 기존 데이터의 분류를 마치고, 새 데이터를 이전에 분류했던 기준에 따라 분류하는 경우라고 볼 수 있겠다. KNN을 아래와 같은 특징을 가진다.
- 직관적이고 복잡하지 않다. 해석도 꽤 쉬운 편에 속한다.
- K 값에 따라 성능이 크게 좌우된다.
- 딱히 학습이랄 것이 없는 Lazy Model이다.
평가 지표
혼동 행렬을 많이 사용한다. True Positive, False Negative 등 실제 값과 예측 값의 정확성 비율로 판단한다. 다음 4가지가 있다.
- True Positive : 실제로 긍정인데 긍정으로 예측했다(정답).
- True Negative : 실제로 부정인데 부정으로 예측했다(정답).
- False Positive : 실제로 부정인데 긍정으로 예측했다(오답).
- False Negative : 실제로 긍정인데 부정으로 예측했다(오답).
예측 긍정 | 예측 부정 | |
실제 긍정 | TP | FN |
실제 부정 | FP | TN |
이를 수치로 환산하는 방법도 4가지 정도를 들 수 있다.
- 정확도 : (TP+TN)/(P+N). 제대로 분류된 데이터의 비율을 측정한다.
-> 다만 클래스가 불균형하면 정확도의 신뢰도가 떨어진다는 단점이 있다. 예를 들어 원래 데이터 자체가 9:1일 경우 예측 모델이 실패하여 10:0으로 예측하여도 정확도가 90%이다. - 정밀도(Precision) : TP / (TP+FP). Potisive(긍정)로 분류한 데이터 중 실제로 Positive인 비율이다. Negative가 중요한 경우에 필요한 지표이다.
- 재현율(Recall) : TP / P. 실제로 Positive인 데이터 중 모델이 Positive로 분류한 경우이다. Positive가 중요한 경우에 필요한 지표이다.
- FPR(False Positive Rate) : FP / N. 실제로 Negative인데 모델이 Positive로 분류한 비율이다. 비정상 사용자를 검출할 때 주로 사용하는 지표이다.
이 중에 정밀도, 재현율, FPR이 자주 쓰이며 각자 모델에서 필요한 기준에 따라 사용한다. 회귀에서도 언급했듯이 만능 평가 지표는 없으며, 필요에 따라 다양한 측면에서 보는 것이 필요하다.
'Development > Machine Learning' 카테고리의 다른 글
[AI] 차원 축소(Dimensionality Reduction) (0) | 2021.02.13 |
---|---|
[AI] 군집(Clustering) - K-means, GMM, 평가 지표 (0) | 2021.02.03 |
[AI] 분류 - SVM, 나이브 베이즈 분류 (0) | 2021.01.13 |
[AI] 회귀분석 - 검증, 평가 (0) | 2021.01.12 |
[AI] 회귀분석 - 모델 (0) | 2021.01.08 |