와 다차원 클러스터링 다음과 같이 내가 데이터 세트를 상상해 : 파이썬은 임계 값
[{"x":20, "y":50, "attributeA":90, "attributeB":3849},
{"x":34, "y":20, "attributeA":86, "attributeB":5000},
etc.
이 외에 무리 이상의 다른 속성이있을 수 있습니다 - 이것은 단지 예입니다. 내가 궁금해하는 점은, 링크 된 것으로 간주되는 특정 변수에 대해 주어진 점과 다음 점 사이의 최대 간격을 제어하는 모든 요소를 기반으로 이러한 점을 클러스터링하는 방법입니다. (유클리드 거리가 10 포인트 이내 여야합니다 (예 : 5 포인트 내에서
attributeA
,
attributeB
)
파이썬에서이를 수행하는 방법에 대한 아이디어가 있습니까? 위에서 암시했듯이 x와 y를 별개의 특성으로 비교하는 것뿐만 아니라 가능한 경우 유클리드 거리를 사용하여 두 점 사이의 거리를 비교하고 싶습니다. 나머지 애트리뷰트의 경우 모든 단일 차원 비교가 될 것입니다.
편집 : 모든 경우 그냥, 어떤 알고리즘이 서로 (또는 좀 더 효율적인 방법)으로 모든 개체를 비교하기 위해, 기본적으로 내가 찾고 있어요이 이해가되지 않습니다 경우에 일부 선명도를 추가 객체 A의 속성과 유클리드 거리가 객체 B와 비교할 때 지정된 임계 값 내에 있으면이 두 객체는 유사하고 링크 된 것으로 간주됩니다. 연결된 모든 클러스터가 반환 될 때까지이 절차가 계속됩니다. 일부 클러스터는 조건은 다른 클러스터의 임의의 지점과 유사해야 클러스터가 분리됩니다.
감사합니다. 정말 도움이됩니다. 가중치로부터 연속 거리를 가진 DBSCAN을 사용하는 것에 대한 아이디어는 꽤 흥미 롭습니다. 절대적으로 동일해야하는 하나의 속성 (또는 여러 속성)이있는 경우 어떻게 작동할까요? (문자열 속성은 두 점에서 동일해야합니다. 연결될 것으로 간주되는 점), 가중치 아이디어로 어떻게 작동할까요? 나는 가장 간단한 방법은 각각의 다른 문자열 특성에 대한 별도의 그룹으로 내 포인트를 분할하는 것이라고 생각 하겠지만 ... 만약 그것이 평등해야 여러 속성이 작동하지 않는 것 같아요. – abagshaw
그런 다음 무한 거리를 주거나 Generalized DBSCAN을 사용할 수 있습니다. Sander, Jörg, et al. "공간 데이터베이스의 밀도 기반 클러스터링 : 알고리즘 GDBSCAN 및 그 응용" 데이터 마이닝 및 지식 발견 2.2 (1998) : 169-194. 그러나 ** 데이터 분할은 효율성 때문에 좋은 생각이며, 여러 필수 속성이 동일해야합니다. –