PCA에서 PC별로 Variance의 크기(Eigenvalue)를 나타내는 것
7~80%를 관습적으로 허용
makeblobs 라이브러리
1) 랜덤하게 시뮬레이션 데이터 생성
2) center = 그룹의 개수
3) cluster_std = 그룹의 퍼진 정도
annotate 함수 : 그래프값 에 숫자 표기
데이터의 특징에 대한 종류 : 답이 있는경우, 없는경우
목적에 대한 종류 : 예측, 분류
Label이 있는 경우 예측, Label이 없는 경우 분류
지도학습 (Supervised Learning)
1) Label이 있는 경우 사용가능
2) 분류 : 주어진 데이터의 카테고리 혹은 클래스 예측
3) 회귀 : continuos한 데이터를 바탕으로 결과 예측
비지도학습 (Unsupervised Learning)
1) 클러스터링 : 데이터의 연관된 feature로 분류
2) 차원축소 : 높은 차원의 데이터셋의 차원을 줄임
3) 연관 규칙 학습 : 데이터셋의 feature들간의 관계 발견
강화학습
1) 행동에 대한 가중치를 통한 피드백으로 행동에 대해 학습
ML cheat sheet
1) 추후 머신러닝 알고리즘 공부에 참고할 것
비지도 학습 알고리즘의 한 종류
주어진 데이터들이 얼마나, 어떻게 유사한지에 대한 정보
정답이 보장되어 있진 않다. 따라서 예측을 위한 모델링보다는 EDA에 많이 이용
Hierarchical
1) Agglomerative : 개별 포인트에서 시작 후 점점 크게 합침
2) Divisive : 한개의 큰 클러스터에서 작은 클러스터로 나눠감
Point Assignment
1) 시작시에 cluster의 수를 정한 후 데이터들을 cluster에 배정
Hard vs Soft Clustering
1) Hard : 데이터가 하나의 cluster에만 할당
2) Soft : 데이터가 여러 cluster에 할당가능
3) 일반적으로 Hard Clustering을 Clustering으로 칭함
clustering은 유사도에 기반하여 분류하는 것이 필요
일반적으로 많이 쓰이는 방식은 Euclidean
추후에 다른 clustering 알고리즘, distance방식 공부할 것
일반적으로 PCA로 전처리하고 K-means를 이용하는 방식을 이용
Euclidan : norm을 이용하여 직선거리 계산
클러스터의 중심을 Mean을 이용하여 설정하겠다는 의미
k개의 랜덤한 데이터를 cluster의 중심점으로 설정
해당 cluster에 근접한 데이터를 cluster로 할당
변경된 cluster에 대해서 중심점 계산
1) 유의미한 변화 없을 때까지 2~3 반복
중심점(Centroid) 계산
1) 랜덤한 포인트를 가상 cluster의 centroid로 지정
Elbow methods
1) cluster의 개수를 정하는 방법
2) 좋은 클러스터링의 기준 : 클러스터 내부의 데이터 유사성이 높다 = 거리의 합이 작다
K-means에서 K를 결정하는 방법
1) The Eyeball Method(주관적 판단), Metrics(객관적 지표)
Scikit-learn의 K-means
1) KMeans 함수를 통해서 바로 이용가능
Initial Centroid state
1) 랜덤성에 의해서 clustering의 결과가 안좋거나 끝없이 반복할 수도 있다.
Time complexity
1) 클러스터링 알고리즘별 시간복잡도
2) 각 알고리즘별로 각자 풀고자하는 문제에 최적화 되어있다.
3) 따라서 더 많은 방법을 시도하고 연구해나가야한다.
4) 또한 데이터에 대한 이해가 없으면 좋은 방법이 있어도 이용이 불가하므로 도메인에 대한 지식도 필요하다