다음은 질문에 대답하는 데 도움이되는 여러 클러스터링 알고리즘에 대한 요약입니다.
"어떤 클러스터링 기술을 사용해야합니까?"
객관적으로 "올바른"군집 알고리즘 Ref 가 없습니다
클러스터링 알고리즘은 "클러스터 모델"에 따라 분류 할 수 있습니다. 특정 종류의 모델을 위해 설계된 알고리즘은 일반적으로 다른 종류의 모델에서 실패합니다. 예를 들어, k- 평균은 볼록하지 않은 클러스터를 찾을 수없고 원형 클러스터 만 찾을 수 있습니다.
따라서 이러한 "클러스터 모델"을 이해하면 다양한 클러스터링 알고리즘 / 방법 중에서 선택하는 방법을 이해하는 것이 중요합니다. 일반적인 클러스터 모델에는 다음이 포함됩니다.
[1] 연결 모델 : 거리 연결을 기반으로 모델을 작성합니다. 예를 들어 계층 적 클러스터링. 나무 절단 높이에 따라 다른 분할이 필요할 때 사용됩니다. R 함수 : 통계 패키지의 hclust.
[2] 중심 모델 : 단일 평균 벡터로 각 군집을 표시하여 모델을 작성합니다. 선명한 파티셔닝이 필요할 때 사용됩니다 (나중에 설명 된 퍼지 클러스터링과 반대). R 함수 : 통계 패키지의 kmeans.
[3] 분포 모형 : 기대 최대화 알고리즘에 의해 사용되는 다변량 정규 분포와 같은 통계 분포를 기반으로 모형을 작성합니다. 원형 군집을 가정하는 k- 평균과 달리 군집 모양이 임의 일 수있는 경우에 사용됩니다. R 함수 : emcluster 패키지의 emcluster
[4] 밀도 모델 : 데이터 공간에서 밀집된 영역으로 클러스터를 기반으로 모델을 작성합니다. 예를 들어 DBSCAN 및 OPTICS. 원형 클러스터를 가정하는 k- 평균과 달리 군집 모양이 임의 일 수있는 경우에 사용됩니다. 패키지 dbscan의 R 함수 dbscan.
[5] 부분 공간 모델 : 클러스터 멤버와 관련 속성을 기반으로 모델을 빌드합니다. 예를 들어, 바이 클러스터링 (공동 클러스터링 또는 2 모드 클러스터링이라고도 함). 동시 행 및 열 클러스터링이 필요한 경우에 사용됩니다. Biclust 패키지의 R 함수 Biclust.
[6] 그룹 모델 : 그룹화 정보를 기반으로 모델을 작성합니다. 예 : 협업 필터링 (추천 알고리즘). recommenderlab 패키지의 R 기능 추천.
[7] 그래프 기반 모델 : 클릭을 기준으로 모델을 작성합니다. 커뮤니티 구조 탐지 알고리즘은 직접 또는 무향 그래프에서 밀집된 하위 그래프를 찾으려고합니다. 예를 들어 igraph 패키지의 R 함수 cluster_walktrap.
[8] Kohonen 자체 구성 기능 맵 : 신경망을 기반으로 모델을 작성합니다. kohonen 패키지의 R 함수 솜.
[9] 스펙트럼 군집 : 볼록하지 않은 군집 구조를 기반으로 또는 중심의 측도가 전체 군집에 대한 적절한 설명이 아닌 경우 모델을 만듭니다. kernlab 패키지의 R 함수 스펙.
부분 공간 클러스터링 : 고차원 데이터의 경우 거리 함수가 문제가 될 수 있습니다. 클러스터 모델에는 클러스터에 대한 관련 속성이 포함됩니다. 예를 들어, R 패키지 HDclassif의 hddc 기능.
[11] 시퀀스 클러스터링 : 관련된 그룹 시퀀스. rBlast 패키지.
[12] 선호도 전파 : 데이터 포인트 간 메시지 전달을 기반으로 모델을 작성합니다. 알고리즘을 실행하기 전에 클러스터 수를 결정하지 않아도됩니다. k- 평균 Ref Rpackage APCluster 보다 특정 컴퓨터 비전 및 컴퓨터 생물학 작업 (예 : 사람 얼굴 사진 클러스터링 및 성적 증명서 식별)에 더 좋습니다.
[13] 스트림 클러스터링 : 전화 기록, 금융 거래 등 지속적으로 도착하는 데이터를 기반으로 모델을 작성합니다. 예 : R 패키지 BIRCH [ https://cran.r-project.org/src/contrib/Archive/birch/]
[14] 문서 클러스터링 (또는 텍스트 클러스터링) : SVD를 기반으로 모델을 작성합니다. 주제 추출에 사용되었습니다. 예를 들어 Carrot [ http://search.carrot2.org] 은 문서를 주제별로 분류 할 수있는 오픈 소스 검색 결과 클러스터링 엔진입니다.
잠재 클래스 모델 : 관찰 된 다변량 변수 세트를 잠재 변수 세트와 관련시킵니다. LCA는 협업 필터링에 사용될 수 있습니다. recommenderlab 패키지의 R function Recommender에는 협업 필터링 기능이 있습니다.
Biclustering : 2 모드 데이터의 행과 열을 동시에 클러스터링하는 데 사용됩니다. 예를 들어 패키지 biclust의 R 함수 biclust입니다.
[17] 소프트 클러스터링 (퍼지 클러스터링) : 각 개체는 어느 정도 각 클러스터에 속합니다. 예를 들어 fclust 패키지의 R Fclust 기능.