본문 바로가기

머신러닝

k-means K-means란? 가장 대표적인 clustering 모델으로, 비지도 학습이다. 주어진 데이터를 k개의 클러스터로 분류하는 작업이다. 가장 먼저 임의로 centroid를 설정하고, centroid를 수정해가면서 결론에 도달한다. (centroid가 더 이상 변화하지 않는 지점에서 멈춤) k-means의 장점, 단점 : 이해와 구현이 쉽고, 효율적인 시간 복잡도를 가진다. : 최적의 k값을 찾기 어렵고, 이상치에 민감함 간단한 코드 from sklearn.cluster import KMeans Kmean = KMeans(n_clusters = 클러스터의 개수, init='centroid지정밥법') Kmean.fit(data) K-means++ 일반적인 kmeans는 초기 centroid값에 따라 이상한 결.. 더보기
차원축소 : 주성분분석 차원 축소를 해야 하는 이유 - 차원의 저주를 해결하기 위해 : 차원이 증가할 때 학습 데이터 수가 차원의 수보다 적어 성능이 저하됨. : 데이터의 용량이 큰 경우, 불필요한 샘플들이 많이 포함되어 있어 모델의 성능이 저하됨 -> 이 때 샘플을 늘리거나 차원을 줄여서 이 문제를 해결해야하나, 샘플을 늘리는 것은 현실적으로 쉽지 않음 - 데이터 시각화를 용이하게 해 데이터를 더 직관적으로 파악할 수 있게 하기 위해 - 특성의 수를 유의미하게 줄여 훈련 속도와 성능을 최대로 유지하기 위해 차원 축소 방법 - Feature Selection : heatmap 을 그려 상관관계가 큰 특성들을 합치거나, 필요없는 특성 제거 - Feature Extraction : projection 등을 통해 feature 추출.. 더보기