목표
6회차: 8/4 14:00 ~ 17:00
계획: 딥러닝 교재 Chapter6 학습, (시간이 남을 시 파이썬 복습)
결과
6-1. 군집 알고리즘
개념정리
비지도 학습
- 머신러닝의 한 종류로 훈련 데이터에 타깃이 없음
- 타깃이 없으므로 외부 도움 없이 스스로 유용한 무언가를 학습 필요
- e.g. 군집, 차원 축소
히스토그램
- 구간별로 값이 발생한 빈도를 그래프로 표시
- x축: 값의 구간(계급), y축: 발생 빈도(도수)
군집
- 비슷한 샘플끼리 하나의 그룹으로 모으는 대표적인 비지도 학습 작업
- 클러스터: 군집 알고리즘으로 모은 샘플
실습
Practice 6-1
6-2. k-평균
개념정리
k-평균
- 랜덤하게 클러스터 중심을 정하고 클러스터를 만든 후 클러스터 중심을 이동해 다시 클러스터를 만드는 식으로 반복해서 최적의 클러스터를 구성하는 알고리즘
클러스터 중심
- k-평균 알고리즘이 만든 클러스터에 속한 샘플의 특성 평균값
- 센트로이드(centroid)
- 가장 가까운 클러스터 중심을 샘플의 또 다른 특성으로 사용하거나 새로운 샘플에 대한 예측으로 활용 가능
엘보우 방법
- 최적의 클러스터 개수를 정하는 방법
- 이너셔: 클러스터 중심과 샘플 사이 거리의 제곱 합
- 클러스터 개수에 따라 이너셔 감소가 꺾이는 지점이 적절한 클러스터 개수 k가 될 수 있음
패키지 및 함수
skiti-learn 패키지
KMeans
- k-평균 알고리즘 클래스
- n_cluster: 클러스터 개수를 지정, 기본값은 8
- n_init: 이너셔를 기준으로 가장 좋은 결과를 선택하기 위한 반복 횟수, 기본값은 10
- max_iter: k-평균 알고리즘의 한 번 실행에서 최적의 센트로이드를 찾기 위해 반복할 수 있는 최대 횟수, 기본값은 200
실습
Practice 6-2
6-3. 주성분 분석
개념정리
차원 축소
- 원본 데이터의 특성을 적은 수의 새 특성으로 변환하는 비지도 학습의 한 종류
- 공간을 줄이고 시각화 하기 쉬움
- 알고리즘의 성능을 높일 수 있음
주성분 분석
- 차원 축소 알고리즘의 하나로 데이터에서 가장 분산이 큰 방향(주성분)을 찾는 방법
- 원본 데이터를 주성분에 투영해 새로운 특성을 만들 수 있음
- 일반적으로 주성분은 원본 데이터에 있는 특성 개수보다 작음
설명된 분산
- 주성분 분석에서 주성분이 얼마나 원본 데이터의 분산을 잘 나타내는지 기록한 것
- 사이킷런의 PCA 클래스는 주성분 개수나 설명된 분산의 비율을 지정해 주성분 분석을 수행
패키지 및 함수
skiti-learn 패키지
PCA
- 주성분 분석을 수행하는 클래스
- n_components: 주성분의 개수를 저장, 기본값은 None으로 샘플 개수와 특성 개수 중에 작은 것의 값을 사용
- random_state: 넘파이 난수 시드 값을 지정
- components_: 훈련 세트에서 찾은 주성분이 저장됨
- explainedvariance: 설명된 분산이 저장됨
- explainedvariance_ratio: 설명된 분산의 비율이 저장됨
- inverse_transform(): transform() 메서드로 차원을 축소시킨 데이터를 다시 원본 차원으로 복원
실습
Practice 6-3