인공지능/머신러닝
분류(Classification)
2^7
2024. 11. 26. 21:02
분류(Classification)
데이터를 미리 정의된 카테고리(클래스) 중 하나로 분류하는 작업
분류 문제의 유형
1. 이진 분류(Binary Classification)
- 두 개의 클래스(예: 참/거짓)로 나누는 문제
2. 다중 클래스 분류(Multi-class Classification)
- 세 개 이상의 클래스로 나누는 문제 (ex.손으로 쓴 0~9 사이의 숫자 분류)
3. 다중 레이블 분류(Multi-label Classification)
- 한 데이터가 여러 클래스에 속할 수 있는 문제 (ex. 사진에서 여러 개의 사물을 인식, 커피와 강아지가 있는 사진)
주요 분류 알고리즘
1. 로지스틱 회귀(Logistic Regression)
- 선형 모델을 기반으로 하며, 결과를 확률로 변환하여 이진 또는 다중 클래스 분류에 사용
- 간단하고 효율적이며 해석이 용이
2. K-최근접 이웃(K-Nearest Neighbors, KNN)
- 가까운 데이터 포인트 K개의 레이블을 참고해 새로운 데이터의 클래스를 결정
- 직관적이고 간단하지만 데이터가 많을수록 느려질 수 있음.
3. 서포트 벡터 머신(Support Vector Machine, SVM)
- 데이터의 경계선을 최적화하여 클래스를 나눔. 선형 및 비선형 데이터에 모두 사용 가능.
- 고차원 데이터에서 강력하지만, 데이터 양이 많으면 학습 속도가 느려질 수 있음.
4. 결정 트리(Decision Tree)
- 데이터를 조건에 따라 트리 구조로 분류.
- 해석이 쉬우며, 범주형 및 연속형 데이터 모두 처리 가능.
5. 랜덤 포레스트(Random Forest)
- 여러 결정 트리를 앙상블 방식으로 결합하여 예측 정확도를 높임.
- 과적합 방지 및 높은 성능.
6. 인공신경망(Artificial Neural Network, ANN)
- 뉴런의 계층을 통해 복잡한 패턴을 학습.
- 대규모 데이터와 비선형 데이터에서 뛰어난 성능.
분류 모델 학습 과정
1.데이터 준비
- 데이터를 수집하고, 입력 데이터와 정답 레이블을 정리
- ex. (특징: 나이, 성별) → (레이블: 질병 유무)
2. 훈련 데이터와 테스트 데이터 분리
- 데이터를 훈련 데이터(Training Data)와 테스트 데이터(Test Data)로 나누어 학습 및 검증을 진행
- 일반적으로 80%는 학습용, 20%는 테스트용으로 사용함
3. 모델 학습
- 훈련 데이터를 사용해 분류 알고리즘을 학습
4. 평가
- 테스트 데이터를 사용해 모델의 성능을 평가
분류 모델 평가 지표
1. 정확도(Accuracy)
- 올바르게 분류된 샘플 비율.
- Accuracy = 올바른 예측 수 / 전체 샘플 수
- 데이터 클래스가 균형 잡혀 있을 때 지표를 선택하는 것이 적합
2. 정밀도(Precision)
- 모델이 예측한 긍정 클래스 중 실제로 긍정인 비율.
- 주로 False Positive을 줄이는 데 집중할 때 사용.
- 잘못된 긍정(FP)을 줄이는 것이 중요한 경우 지표를 선택하는 것이 적합(ex. 스팸 필터, 금융 사기 탐지 등)
3. 재현율(Recall)
- 실제 긍정 클래스 중 모델이 맞춘 비율.
- 주로 False Negative을 줄이는 데 사용.
- 긍정을 놓치면 안 되는 경우(FN을 줄이는 상황)에 지표릎 선택하는 것이 적합(ex. 암 진단, 화재 진단 등)
4. F1 점수(F1 Score)
- 정밀도와 재현율의 조화 평균. 불균형 데이터셋에서 효과적.
- 데이터가 불균형할 때, 정밀도와 재현율의 균형이 중요할 때 지표를 선택하는 것이 적합
5. ROC-AUC (Receiver Operating Characteristic - Area Under Curve)
- 모델의 분류 역량을 평가하는 곡선 아래 면적.
- 모델의 분류 능력을 전반적으로 평가 시 사용
정오분류표(Confusion Matrix)
분류 모델의 예측 결과를 정리한 표
실제 | 긍정 (Positive) | 실제 |부정 (Negative) | |
예측 | 긍정 (Positive) | True Positive (TP) | False Positive (FP) |
예측 | 부정 (Negative) | False Negative (FN) | True Negative (TN) |
- TP: 실제 긍정인 데이터를 긍정으로 맞춘 경우.
- TN: 실제 부정인 데이터를 부정으로 맞춘 경우.
- FP: 실제 부정인 데이터를 긍정으로 잘못 예측한 경우.
- FN: 실제 긍정인 데이터를 부정으로 잘못 예측한 경우.
728x90