k-Means Clustering

k-Means 클러스터링은 비지도 학습(Unsupervised Learning) 알고리즘 중 하나로 데이터를 유사도를 바탕으로 k개의 그룹으로 구분하는 알고리즘이다. 레이블이 없는 데이터 집합에서 분류 작업을 할 때 유용하게 사용된다. 이 글에서는 k-Means의 기초적인 개념을 바탕으로, 간단하게 구현하는 과정을 소개한다. 관련 키워드: k-Means, 클러스터링, 기계학습, node.js k-Means 알고리즘이란? k-Means ...

kNN (k-Nearest Neighbor) 알고리즘

k-NN 알고리즘은 분류 알고리즘의 하나로 로직이 간단하여 구현하기 쉽다. 하지만 학습 모델이 따로 없고, 전체 데이터를 스캔하여 데이터를 분류하기 때문에 데이터의 양이 많아지면 분류 속도가 현저하게 느려진다. k-NN 알고리즘은 단순 분류 작업 이외에도 협업 필터링을 구현 할 때 사용되기도 한다 (참고: https://github.com/guymorita/recommendationRaccoon). 관련 키워드: kNN, 분류, 기계학습, ...

추천 알고리즘 구현하기 (User-based Collaborative Filtering)

추천 시스템은 보유하고 있는 데이터에 따라 다양한 방법으로 접근하여 구현이 가능하다. 아마존, 넷플릭스와 같이 사용자의 행위 데이터를 분석하여 맞춤형 추천이 가능하고, 뉴스 데이터 등의 텍스트 데이터의 내용을 분석하여 유사도 계산을 통해 추천하는 것도 가능하다. 이 글에서는 추천 시스템의 종류에 대한 소개와 협업 필터링을 통해 간단한 추천 알고리즘을 소개한다. 관련 ...