내일배움캠프_QAQC 1기/머신러닝의 이해와 라이브러리 활용

머신러닝 심화_비지도 학습

이지응:) 2025. 2. 18. 16:52

강의 자료 : 3. 비지도학습

실습 자료 : 

머신러닝 심화_비지도 학습.ipynb
0.46MB

 

머신러닝의 종류

지도학습

  • 문제(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

 

붓꽃 데이터를 이용한 군집화 실습

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. 평가