지도학습(Supervised Learning)
입력(X)과 정답(Y)이 함께 주어진 상태에서 학습
예시: 회귀, 분류 등
비지도학습(Unsupervised Learning)
정답(Y)이 없이 데이터 내부 구조를 스스로 발견
예시: 군집화(Clustering), 차원 축소 등
군집화란?
데이터 간 유사성을 기반으로 비슷한 데이터끼리 그룹화하는 작업
→ 정답이 없이도 데이터를 구분할 수 있게 해주는 방식
마케팅 활용 예시
고객들의 구매 빈도, 금액, 주기 등을 기준으로 자동 분류
군집 내 거리(intra-cluster): 같은 군집 내 데이터끼리는 가까워야 함
군집 간 거리(inter-cluster): 다른 군집 간 데이터는 멀어야 함
→ 거리 계산은 군집화 성능에 핵심적인 요소
거리 개념
StandardScaler
를 사용하여 평균 0, 표준편차 1로 정규화거리 종류 | 설명 | 사용 예 | ||||
---|---|---|---|---|---|---|
유클리디안 | 직선 거리(피타고라스 거리) | 일반적인 거리 측정 | ||||
맨해튼 | 축 별 거리의 합 ( | x₁-y₁ | + | x₂-y₂ | ) | 격자 기반 경로 탐색 |
코사인 거리 | 벡터 간 방향 차이 | 문서 추천, 유사도 기반 추천 시스템 |
Iris 데이터셋:
비지도학습 시나리오:
sklearn.cluster.KMeans
n_clusters
: 군집 수labels_
: 각 데이터의 군집 번호cluster_centers_
: 군집 중심 좌표max_iter
: 반복 횟수 제한실루엣 계수
값이 1에 가까울수록 군집이 잘 형성되었음을 의미
-1이면 군집화가 잘못되었음을 의미
Python 함수: sklearn.metrics.silhouette_score
항목 | 설명 |
---|---|
Recency(R) | 마지막 구매 후 경과 일수 |
Frequency(F) | 구매 횟수 |
Monetary(M) | 총 구매 금액 |
데이터 불러오기
EDA 및 전처리
RFM 변수 생성
스케일링
K-Means 군집화 수행