Scree Plots
![](https://images.velog.io/images/ssulee0206/post/587d7451-29d8-4c94-b713-42edb54018bf/112.png)
적절한 주성분 개수를 알기 위한 그래프
누적비율이 70~80%면 적당하다
Machine Learning
- 지도 학습(Supervised Learning): 트레이닝 데이터에 답(label) 이 있을 때 사용할 수 있다
- 분류(Classification) : 분류 알고리즘은 주어진 데이터의 카테고리 혹은 클래스 예측을 위해 사용된다
- 회귀(Prediction) : 회귀 알고리즘은 연속한 데이터를 바탕으로 결과를 예측하기 위해 사용된다
- 비지도 학습(Unsupervised Learning)
- 클러스터링 : 데이터의 연관된 feature를 바탕으로 유사한 그룹을 생성
- 차원 축소 : Dimensionality Reduction 높은 차원을 갖는 데이터셋을 사용하여 feature selection / extraction 등을 통해 차원을 줄이는 방법
- 연관 규칙 학습(Association Rule Learning) : 데이터셋의 feature들의 관계를 발견하는 방법
- 강화학습(Reinforcement Learning) : 머신러닝의 한 형태로, 기계가 좋은 행동에 대해서는 보상, 그렇지 않은 행동에는 처벌이라는 피드백을 통해서 행동에 대해 학습해 나가는 형태
Clustering
clustering의 목적은 주어진 데이터들이 얼마나 어떻게 유사한지를 알아보는 것
주어진 데이터셋을 요약, 정리하는데 있어서 매우 효율적인 방법
(정답을 보장하진 않아서 production의 수준 또는 예측을 위한 모델링에 쓰이기 보다는 EDA를 위한 방법으로 쓰인다)
- Hierarchical : Agglomerative(개별 포인트에서 시작 후 점점 크게 합쳐감) / Divisive(한개의 큰 cluster에서 시작 후 점점 작은 cluster로 나눠감)
- Point Assignment : 시작시에 cluster의 수를 정한 다음, 데이터들을 하나씩 cluster에 배정시킴
- Hard vs Soft Clustering : 일반적으로 Hard Clustering을 Clustering이라 부른다
- Hard에서 데이터는 하나의 cluster에만 할당
- Soft에서 데이터는 여러 cluster에 확률을 가지고 할당
K-Means Clustering
- K개의 랜덤한 데이터를 cluster의 중심점으로 설정
- 해당 cluster에 근접해 있는 데이터를 cluster로 할당
- 변경된 cluster에 대해서 중심점을 새로 계산
- cluster에 유의미한 변화가 없을 때까지 2~3번 반복
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters = 3) # 3개의 cluster
kmeans.fit(x)
labels = kmeans.labels_