2
scikit-learn에서 DBSCAN 구현을 이해하려고하는데 문제가 있습니다. Python의 DBSCAN : 예기치 않은 결과
X = [[0,0],[0,1],[1,1],[1,2],[2,2],[5,0],[5,1],[5,2],[8,0],[10,0]]
그럼 제가
D = distance.squareform(distance.pdist(X))
D
있다 : I는 물론 문서를 이해하면,
db = DBSCAN(eps=1.1, min_samples=2).fit(D)
eps = 1.1
수단 작거나 1.1 같음 클러스터에서 고려 될 것이다 거리 요점 (핵심). 두번째 점은 제 1 및 제 1의 거리가 의미
>>> D[1]
array([ 1. , 0. , 1. , 1.41421356,
2.23606798, 5.09901951, 5. , 5.09901951,
8.06225775, 10.04987562])
:
D[1]
는 다음 반환한다. 그래서 클러스터를 구축 할 것을 기대하지만 ...
>>> db.core_sample_indices_
[]
즉, 코어가 발견되지 않았습니까? 다음은 다른 2 개의 출력입니다.
왜 클러스터가 있습니까?
scikit-learn의 DBSCAN 구현은 인덱스 구조를 사용하지 않으므로 2 차 시간이 걸립니다. 그러나 당신은'metric = "precomputed"에 대해 옳다. 그래서 +1. –
감사합니다. 오류를 찾으려고했지만 정확한 위치를 모르는 경우 검색하기가 쉽지 않습니다. 내가 쓴 것처럼, 나는 문서를 잘 이해하지 못했다. 감사! – otmezger