내일배움캠프(QA,QC_5기)

[내일배움캠프] QA/QC_5기 ( 33일차 )

lshxkwh 2026. 4. 22. 20:36

[ 군집화(클러스터링) , PCA , K-means ] - 내일부터 전체적인 복습 및 개인과제!!!!!!

 

1 . 클러스터링 ( 군집화 ) 

 - 데이터끼리의 거리를 측정해서 자동으로 그룹을 만드는 방법

 - intra-cluster (군집 내 거리) : 데이터들 끼리 거리는 가까울 수록 좋다.

 - inter-cluster (군집 간 거리) : 거리가 멀 수록 좋다.

 

  • 계층적 군집화
    • 덴드로그램
      • 가장 비슷한 것을 두개 묶고 또 비슷한거 끼리 묶어 계속 반복하여 나무처럼 기록
      • k를 사후에 결정 할 수 있는 유일한 구조
    • 통합 계층 & 분할 계층 군집화

K-means (가장 기본이자 강력한 도구)

 - 데이터를 k개의 군집으로 나누는 분할 기반 클러스터링
    이때 k개의 군집은 하이퍼 파라미터로 사용자가 직접 나누어 주어야 한다.

    또한 centroid라는 중심점과의 평균 거리를 이용하여 군집을 만들겠다.

 

  •  k-means 의 동작원리
    • Step 1. 군집 개수 (k) 설정
      • 군집을 몇개의 k로 나눌건지 결정 ( k의 개수에 따라 결과가 크게 달라짐 
      • k값 결정 방법 2가지
        1. 경험을 통해 알게 된 규칙
        2. Elbow Method 
    • Step 2. 초기 중심점 설정 (centroid)
      • centroid 설정 방법
        1. randomly select : 랜덤 설정
        2. 수동할당
    • Step 3. 데이터를 군집에 할당 
      • 가장 가까운 중심점의 군집에 할당
    • Step 4. 중심점 재설정
      • 각 군집에 속한 데이터들의 평균 위치로 중심점 이동
    • 최적의 k는 어떻게 정할까?
      • Elbow Method : k 를 늘릴수록 군집 내 데이터간 거리가 감소
      • Silhouette score : -1 ~ 1사이의 값, 1에 가까울수록 군집이 잘 분리된다.

 

 

2 . 차원축소 (PCA , T-SNE)

  1. PCA (주성분 분석) - 선형
    • 여러개의 센서 데이터를 가장 중요한 몇개의 축으로 요약하는 기법
    • 다중공선성이 높은 데이터에 PCA를 적용하여 핵심을 뽑는다.

      예) 

  • 센서값이 비슷하고 중복값이 많다.
  • 번수의 개수는 차원의 개수 (총 3개)

2차원에서 1차원으로 (정사영을 이용) 차원 축소

-> 이때 정사영 되면서 데이터가 겹칠 수 있는데 이때 데이터가 유실되었다고 한다. 

그러므로 X,Y가 아닌 다른 축(주성분(PC))를 찾는다 . (분산이 최대로 보전될 수 있는)

 

이때 분산이 최대로 보전될 수 있게 하는 선은 선을 그을 때 점들이 가장 잘 퍼저있는 정도를 계산한 최적의선 ( 주성분 PC ) 을 그린다.

 

[PCA 개인 실습]

10명의 사람에 대하여 (Caloy ~ excercise)에 대한 특징과 body_shape라는 라벨이 주어져있다. 

5개의 특징을 시각화 하면 5차원 공간이 필요하다

그러므로 5차원을 1차원 공간으로 축소 할려고 한다.

 

1. 데이터 & 라벨을 분리

   - 라벨은 무관하기 때문에

2. 스케일링

 - 스케일링은 데이터의 단위를 맞춰주는 함수로 -1 ~ 1 사이의 값으로 나타내어준다 

   -> 스케일링 =( 데이터 - 평균 ) / 표준편차

 

3 . 2차원으로 표현