선형 모델 중 분류 모델에 대한 페이지입니다.
- 개념
- 종류
- 원리
- 사용법
- 평가지표

Reference: https://cdn.analyticsvidhya.com/wp-content/uploads/2024/08/711091.webp
Reference: https://cdn.analyticsvidhya.com/wp-content/uploads/2021/04/image-356-6756c92915662.webp
Reference: https://media.geeksforgeeks.org/wp-content/uploads/20231008131358/file.png
Reference: https://arize.com/wp-content/uploads/2022/11/log-loss-1.png
Logistic Regression
from sklearn.linear_model import LogisticRegression
lg_model = LogisticRegression()
lg_model.fit(X_train, y_train)
Linear SVM
from sklearn.svm import LinearSVC
svm_model = LinearSVC()
svm_model.fit(X_train, y_train)
Reference: https://images.prismic.io/encord/edfa849b-03fb-43d2-aba5-1f53a8884e6f_image5.png?auto=compress,format
(T/N) 맞췄냐 틀렸냐 / (P/N) 예측한 값
# 실제값, 예측값이 필요
from sklearn.metrics import classification_report
print(classification_report(y_test, pred_svm)) # 실제값과 예측값의 순서 중요!!
precision recall f1-score support
0 0.88 0.97 0.92 370
1 0.68 0.32 0.44 71
accuracy 0.87 441
macro avg 0.78 0.65 0.68 441
weighted avg 0.85 0.87 0.85 441# 해석 방법
# precision
# class 0 -> 모델이 0으로 예측한 것 중 0.88 가 실제 class 0
# class 1 -> 모델이 1 로 예측한 것 중 0.68 가 실제 class 1
# recall
# class 0 -> 실제 class 0 중에서 97%를 맞췄다
# class 1 -> 실제 class 1 중에서 44%를 맞췄다
# f1-score
# class 0 일때가 조화평균이 좋다, 균형있다.
# Summary
# SVM이 전체적으로는 정확히 맞추지만, 소수 클래스(1)를 잘 못 잡고 있다.
# 즉, 불균형 데이터 문제에 의해 SVM이 0을 우선적으로 맞추고 1을 놓치는 상황.