강의 자료 : 3. 비지도학습
실습 자료 :
머신러닝의 종류

지도학습
- 문제(X)와 정답(Y)가 주어지고 문제(X)가 주어졌을때 정답(Y)을 맞추는 학습
- 앞에서 배웠던 회귀와 분류는 지도학습의 대표적인 예시
비지도 학습
- 답(Y)을 알려주지 않고 데이터 간 유사성을 이용해서 답(Y)을 지정하는 방법
- 비지도 학습 예시 : 고객 특성에 따른 그룹화, 구매 내역별로 데이터 그룹화
비지도 학습 - K-Means Clustering
K-Means Clustering 수행 순서

1. K개 군집 수 설정
2. 임의의 중심을 선정
3. 해당 중심점과 거리가 가까운 데이터를 그룹화

4. 데이터의 그룹의 무게 중심으로 중심점을 이동
5. 중심점을 이동했기 때문에 다시 거리가 가까운 데이터를 그룹화 (3~5번 반복)
K-Means Clustering 장점
- 일반적이고 적용하기 쉬움
K-Means Clustering 단점
- 거리 기반으로 가까움을 측정하기 때문에 차원이 많을 수록 정확도가 떨어짐
- 반복 횟수가 많을 수록 시간이 느려짐
- 몇 개의 군집(K)을 선정할지 주관적임
- 평균을 이용하기 때문에(중심점) 이상치에 취약함
Python 라이브러리
- sklearn.cluster.KMeans
- 함수 입력 값
- n_cluster: 군집화 갯수
- max_iter: 최대 반복 횟수
- 메소드
- labels_: 각 데이터 포인트가 속한 군집 중심점 레이블
- cluster_centers: 각 군집 중심점의 좌표
군집평가 지표
실루엣 계수

실루엣 분석 (silhouette analysis)
- 같은 군집 간의 거리가 얼마나 효율적으로 분리되어 있는지 측정
- 실루엣 계수

- a(i) : 데이터 포인트 $i$ 과 같은 군집에 속한 다른 포인트들과의 평균 거리
- b(i) : 데이터 포인트 $i$ 와 가장 가까운 다른 군집 간의 평균 거리
- 1로 갈수록 잘 군집화 되어 있음. -1에 가까울수록 잘 못 군집화 되어 있음.
- 좋은 군집화의 조건
- 실루엣 값이 높을수록(1에 가까움)
- 개별 군집의 평균 값의 편차가 크지 않아야 함
- Python 라이브러리
- sklearn.metrics.sihouette_score: 전제 데이터의 실루엣 계수 평균 값 반환
- 함수 입력 값
- X: 데이터 세트
- labels: 레이블
- metrics: 측정 기준 기본은 euclidean
- 함수 입력 값
- sklearn.metrics.sihouette_score: 전제 데이터의 실루엣 계수 평균 값 반환
붓꽃 데이터를 이용한 군집화 실습
1. 붓꽃데이터 load
2. Kmeans Clustering
3. 시각화 결과 비교
4. 군집화 평가
고객 세그멘테이션 실습
- 비지도 학습이 가장 많이 사용되는 분야는 고객 관계 관리(Customer Relationship Management, CRM)분야
- 고객 세그멘테이션
- 다양한 기준으로 고객을 분류하는 기법
- RFM의 개념
- Recency(R) 가장 최근 구입 일에서 오늘까지의 시간
- Frequency(F): 상품 구매 횟수
- Monetary value(M): 총 구매 금액
1. UCI 데이터 세트 다운로드
Online Retail - UCI Machine Learning Repository
- 컬럼 정보
- InvoiceNO: 6자리의 주문번호(취소된 주문은 c 로 시작)
- StockCode: 5자리의 제품 코드
- Description : 제품 이름(설명)
- Quantity: 주문 수량
- InvoiceDate: 주문 일자, 날짜 자료형
- UnitPrice: 제품 단가
- CustomerID: 5자리의 고객 번호
- Country: 국가명
2. EDA
3. 데이터전처리
- customerID 결측치 삭제
- InvoiceNo, UniPrice, Quantity 데이터확인 및 삭제
- 영국데이터만 취함
4. RFM 기반 데이터 가공
- 날짜 데이터 가공
- 최종목표
- StandardScaler 적용
5. 고객 세그멘테이션
6. 평가
'내일배움캠프_QAQC 1기 > 머신러닝의 이해와 라이브러리 활용' 카테고리의 다른 글
| 머신러닝 심화_딥러닝 (0) | 2025.02.18 |
|---|---|
| 머신러닝 심화_회귀, 분류 모델링 심화 (0) | 2025.02.17 |
| 머신러닝 심화_데이터분석 프로세스 (0) | 2025.02.13 |
| 머신러닝 기초_분류분석_로지스틱회귀 (1) | 2025.01.23 |
| 머신러닝 기초_회귀 분석_선형 회귀(6-10) (1) | 2025.01.22 |