지도학습 - 분류
로지스틱 회귀 (Logistic Regression)
- 이름은 회귀지만 실제로는 분류 모델 (이진 분류).
- 선형 결합 결과()에 **로지스틱 함수(시그모이드)**를 적용하여 0~1 사이의 확률값으로 변환.
- 해석: 출력값을 '양성 클래스(1)일 확률'로 해석.
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(max_iter=1000)
lr.fit(x_train, y_train)
의사결정나무 (Decision Tree)
- 스무고개 원리.
- 특징을 하나씩 검사하여 불순도(Impurity)를 낮추는 방향으로 데이터를 분할(분기).
- 장점: 해석이 쉽고 직관적. 데이터 스케일에 민감하지 않음.
- 단점: 과대적합(Overfitting) 발생 가능성 높음.
from sklearn.tree import DecisionTreeClassifier
dt = DecisionTreeClassifier(min_samples_leaf=10, random_state=42)
dt.fit(x_train, y_train)
- 시각화:
plot_tree함수로 의사결정 과정을 그림으로 확인 가능.
어떤 방법을 쓸 것인가? (No Free Lunch)
- 공짜 점심은 없다 (No Free Lunch Theorem): 모든 문제에 대해 항상 우월한 단 하나의 알고리즘은 없음.
- 데이터의 특성에 따라 적합한 방법이 다름.
- 비정형 데이터(이미지, 텍스트) 딥러닝이 강세.
- 정형 데이터(표) 의사결정나무 계열(Random Forest, XGBoost 등)이 강세인 경우가 많음.
- 여러 모델을 시도하고 검증(Validation)해보는 것이 최선.