로운's 기술노트

Chapter 3. 데이터 분석 입문 (8주차_4/4) 본문

내배캠_데이터분석가_'24.04~08/회고

Chapter 3. 데이터 분석 입문 (8주차_4/4)

로운's 2024. 6. 7. 22:43
목표 :  [오전] 파이썬 세션
             [오후] 머신러닝_기초 완강

 

ㅁ 비지도학습 - 군집화
- 고객분류,데이터분석,차원축소,이상치 탐지,준지도학습,검색엔진,이미지 분할(e.g. 자율주행)

ㅇ 가우시안 : 몇개 나눌건지, 학습, 예측 순으로 기재
- 타원형이나 불규칙 데이터에 최적화

from sklearn.mixture import GaussianMixture
y_pred = GaussianMixture(n_components=3, random_state=42).fit(X).predict(X)


k-means-clustering

> 최초 초기값을 랜덤으로 잡고 중심값을 찾아나가는 과정 >> 초기 값에 많이 의존함
원형 군집데이터에 최적화

from sklearn.datasets import make_blobs
blob_centers = np.array(
    [[ 0.2,  2.3],
     [-1.5 ,  2.3],
     [-2.8,  1.8],
     [-2.8,  2.8],
     [-2.8,  1.3]])
blob_std = np.array([0.4, 0.3, 0.1, 0.1, 0.1])	# make_blobs를 이용해 클러스터링 가상 데이터를 생성

X, y = make_blobs(n_samples=2000, centers=blob_centers,
                  cluster_std=blob_std, random_state=7)

 

ㅇ 하드 군집 vs 소프트 군집

- 하드 군집: 데이터를 무조건 하나의 클러스터에 속하게끔 정해 버리는 것
- 소프트 군집 : 데이터와 모든 군집간의 친화성(유사성)을 계산해보는 것 > 차원 축소 기법으로 사용 가능



ㅇ 평가

- 이너셔 : 최선의 모델을 선택하려면 K-평균 모델의 성능을 평가할 방법이 있어야 하지만 군집은 비지도 학습이기 때문에 타깃이 없음. 그래서 각 샘플과 센트로이드 사이의 거리는 측정할 수 있다. 이것이 이너셔 지표의 아이디어

> 이너셔는 낮을수록 좋다(그러나 클러스터가 많을수록좋은 것이 아니기 떄문에 4가 가장 적합)

엘보우는 k=4로 이 값보다 클러스터가 작으면 나쁘고 이보다 더 많으면 크게 도움이 되지 않고 배로 늘려도 마찬가지. 따라서 k=4가 아주 좋은 선택

 

- 실루엣

. 한 샘플의 실루엣 계수는 (b - a)/max(a, b).

. a는 같은 클러스터에 있는 다른 샘플까지의 평균 거리(= '클러스터 내부 평균 거리').

. b는 가장 가까운 클러스터까지 평균 거리

> 즉, 가장 가까운 클러스터(샘플 자신의 클러스터를 제외하고 b를 최소화하는 클러스터)의 샘플까지 평균 거리

> 실루엣 다이어그램은 값이 클수록 좋다.(넓을 수록 좋다. 4,5가 적합)

k=4가 매우 좋은 선택이지만 k=5도 꽤 괜찮은 선택

 

- 실루엣 다이어그램 : 모든 샘플의 실루엣 계수를 할당된 클러스터와 실루엣 값으로 정렬하여 그리는 방법

k=5가 가장 좋은 선택. 모든 클러스터의 크기가 거의 동일하고 평균 실루엣 점수를 나타내는 파선을 모두 넘음


ㅇ LogisticRegression은 회귀→분류로 계산하기 때문에 최종적으로 분류를 수행. 그냥 분류로 이해하면 됨!


ㅇ 책 추천
- 중급자 : 핸즈온 머신러닝
- 초급자 : 밑바닥부터 시작하는 딥러닝 (3개의 시리즈 다 좋음)

 

다음 목표 : [오전] 머신러닝_심화 강의 수강
                    [오후] 통계학 세션, 머신러닝_심화 강의 수강
Comments