Classification이란?
Classification은 입력 데이터 x의 속성(attributes)을 이용해 미리 정의된 class label y 중 하나를 예측하는 지도학습(supervised learning) 문제다.

왜 Classification이 중요한가?
현실 세계의 대부분의 의사결정은 범주(category)를 예측하는 형태로 나타나기 때문이다. 실무 예시는 다음과 같다.
실제 기업 활용 예
- 고객 이탈 예측: Churn vs Retain
- 리뷰 감성 예측: Positive / Neutral / Negative
- 의학 진단: 정상 / 비정상
- 이메일 분류: Spam / Promotion / Work-related
- 기계 고장 예측: Normal / Maintenance Needed / Urgent Repair
결국 조직의 의사결정 그 자체가 classification이다.
Lazy Learning과 Eager Learning의 차이
Lazy Learning
모델이 학습 시점에 거의 아무것도 하지 않고, 예측 시점에 전체 데이터를 활용해 계산하는 방식이다. 대표 모델: kNN (k-nearest neighbors)이 있다.
특징
- 학습은 거의 하지 않고, 예측 시 데이터 전체를 참조
- 지역적(local) 패턴 기반
- 학습은 빠르지만 예측이 느림
- 노이즈에는 강하지만 일반화 성능은 떨어질 수 있음
산업 적용 예:
추천 시스템 초기 버전에서 유사 사용자 기반 추천을 빠르게 구축할 때 사용되었다.
Eager Learning
학습 단계에서 모델이 패턴을 일반화하여 미리 학습한다. 예측 시점은 매우 빠르다.
대표 모델로는
- Logistic Regression
- Decision Tree
- SVM
- Neural Network
특징:
- 전체 데이터 분포를 학습해 global model을 만든다
- 학습 시간이 크지만 예측은 빠르다
- 일반화 성능이 좋지만, 불필요한 특성에 민감할 수 있다
현업에서는 대부분 eager learning 모델을 사용한다. kNN처럼 lazy한 방식은 대규모 데이터 환경에서는 거의 사용되지 않는다.




kNN과 Classification의 관계
classification은 새로운 데이터가 들어오면 가장 가까운 데이터(k개)를 찾아서 label을 결정한다.
요약하면 -> 입력 x와 과거 데이터 x’들 간의 거리 d(x, x’)를 기반으로 다수결로 label을 결정하는 구조이다.
그래서 대표적 “lazy learning classifier”이다.
하지만 단점은
- k 값 선택의 어려움
- kNN은 가장 가까운 k개의 이웃을 보고 의사결정을 한다. 하지만 k 선택에 따라 모델 성능이 극단적으로 달라진다.
- Scaling 문제
- kNN은 거리 기반 알고리즘이다. 그러므로 attribute 값의 scale이 다르면 단 하나의 attribute가 거리 계산을 지배해버린다.
- 고차원 데이터 문제(Curse of Dimensionality)
- 차원이 증가하면
- 최근접 이웃 거리
- 10번째 이웃 거리
- 가장 먼 이웃 거리
- 차원이 증가하면
이 세 개가 거의 동일해진다. 즉, 가까움과 멀음의 의미가 사라진다. 고차원에서는 데이터가 희소(sparse)해지고
모든 점들이 서로 멀리 떨어져 있다. 그래서 거리 기반 판단이 불가능해진다.

Logistic Regression은 이름은 Regression이지만 실제로는 Classification 모델이다.
Logistic Regression은 회귀(regression)가 아니라 분류(classification) 모델이다. 이 모델이 하는 일은 연속값을 예측하는 것이 아니라, 확률을 예측한 후 class label을 결정하는 것이다.
즉
- 출력값 y가 0 또는 1이어야 할 때
- 어떤 event(이탈, 사기, 양성 등)가 발생할 확률 P(y=1|x)를 모델링할 때
Logistic Regression을 사용한다.
Logistic Regression의 핵심: S-shaped sigmoid
Logistic Regression은 선형결합 w·x + b를 그대로 사용하지만, 이를 Sigmoid 함수로 감싸서 확률로 변환한다. σ(z) = 1 / (1 + e^-z)
이제 출력이 다음과 같이 된다. ŷ = σ(w·x + b)
즉
- 0.0 ~ 1.0 사이의 확률값을 출력한다
- 임계값 0.5를 기준으로 0 또는 1로 분류한다
이 구조가 classification과 직접적으로 연결된다.
결론적으로
선형 모델 + 확률화(sigmoid) + 임계값 판단 → 이진 분류 모델 이것이 logistic regression이다.

Logistic Regression이 Classification에서 중요한 이유를 산업적 관점에서 보면
실무에서 로지스틱 회귀는 다음 이유로 가장 널리 쓰이는 모델 중 하나다.
높은 해석 가능성
각 feature의 weight(w)가 타깃(이탈 여부, 사기 여부, 질병 여부)에 미치는 방향과 크기를 명확하게 해석할 수 있다.
예:
w_income = -0.3 → 소득이 높을수록 이탈 확률 감소
w_complaints = +1.2 → 최근 불만건수가 많을수록 이탈 확률 증가
의사결정 투명성을 요구하는 산업(금융, 의료, 보험)에서 매우 중요하다.


Logistic Regression과 Classification의 직접적인 관계 요약
Logistic Regression은 선형결합을 확률로 변환하여 두 개 이상의 class 중 하나를 선택하도록 설계된 모델로, 이름은 regression이지만 실제로는 classification을 위한 지도학습 기법이다.
Decision Tree의 본질: “분기를 학습하는 모델”
표면적으로 보면 디시전트리는 다음 두 가지를 반복하는 구조처럼 보인다.
- 어떤 feature를 기준으로 분기
- 조건을 만족하면 왼쪽, 아니면 오른쪽
- 이것을 반복해 leaf에서 class를 결정
즉, “규칙 if-else가 반복되는 구조”처럼 보인다.
그러나 중요한 점은 이 분기 기준(어떤 feature로 나눌지, 어떤 threshold로 분기할지)을 사람이 짜는 것이 아니라 데이터가 스스로 학습한다는 점이다. 이게 머신러닝이 되는 결정적 차이다.


단순한 분기가 아니라 “정보 이득(Information Gain)을 최대화하는 선택”
분기를 아무렇게나 하면 의미가 없다. 트리의 목적은 클래스가 잘 구분되는 방향으로 데이터를 최대한 빨리 순수하게(pure) 만드는 것이다.
이를 위해 사용하는 핵심 개념은
- 엔트로피(Entropy)
- 지니 지수(Gini Impurity)
- 정보 이득(Information Gain)
트리는 매 단계에서 다음 질문을 던진다.
- “현재 노드를 가장 잘 나누는 feature는 무엇인가?”
- “그 feature의 어떤 value를 기준으로 나누는 것이 가장 좋은가?”
즉, 단순한 분기가 아니라 분기 기준을 최적화하는 수학적 탐색 과정이다.
즉
- 정보 이득이 높아야 한다 : 즉, 분할할수록 label이 더 깨끗하게(pure) 정리되는 방향이어야 한다.
- 트리가 단순(simple)해야 한다 : 즉, 불필요하게 깊거나 복잡하면 안 된다. 이유: 복잡한 트리는 매우 쉽게 overfitting을 일으킨다.
이 두 기준을 만족해야 좋은 트리다.


좋은 split의 기준: impurity(불순도)를 최소화하는 분할
트리는 분기를 할 때 다음 질문을 한다.
“이 split을 하면 클래스가 얼마나 더 깨끗하게(pure) 되나?”
즉, 불순도(impurity)가 줄어드는 정도를 본다. 불순도가 낮다는 것은 거의 한 가지 class만 있는 상태를 의미한다.
트리는 split 전후의 impurity를 비교해 가장 큰 향상이 있는 split을 선택한다. Impurity before split = M0 = f(N0, N1) = 여기서 f는 impurity 측정 함수다.
split 후에는 left child, right child 각각의 impurity를 계산하고 weighted average를 구한다.
Purity Gain = Impurity(before) – Impurity(after) = Gain이 가장 큰 split을 선택한다.
이것이 Decision Tree가 최적의 split을 찾는 실제 메커니즘이다.
결국 Classification의 핵심은 주어진 데이터의 속성과 패턴을 가장 잘 설명하는 의사결정 경로를 찾는 것이며, kNN·Logistic Regression·Decision Tree는 서로 다른 관점에서 이 문제를 해결한다.
kNN은 거리 기반의 유사성을, 로지스틱 회귀는 확률적 관계를, 의사결정나무는 규칙 기반의 분할 구조를 통해 이를 실현하며, 특히 Decision Tree의 split 기준까지 다룬 이유는 분류 모델이 단순한 계산이 아니라 데이터의 구조적 해석을 기반으로 작동한다는 사실을 명확히 보여주기 위함이다.