3

scikit-learn의 유사도 전파 구현을 사용하여 유사성 측정 기준으로 수정 된 Jaro-Winkler 거리를 사용하여 엔티티 이름 집합을 클러스터링하는 결과를 얻었지만 클러스터 수가 여전히 너무 많습니다 (예 : 너무 높음). 많은 잘못된 반응) 나는 다음과 같은 설명과 함께, 클러스터의 수에 영향을 미치는 '환경 설정'매개 변수가 존재하는 scikit 배우기 문서에서 볼선호도 전파 선호도 매개 변수

:.

선호 : 배열과 같은 , shape (n_samples,) 또는 float, 선택 사항

각 지점에 대한 기본 설정 -보다 큰 기본 설정 값을 갖는 지점이 표본으로 선택 될 가능성이 큽니다. 예를 들어, 클러스터의 수는 입력 기본 설정 값의 영향을받습니다. 기본 설정이 인수로 전달되지 않으면 입력 유사성의 중앙값으로 설정됩니다. 나는이 값 땜질 시작했을 때 [0]

그러나, 나는 값의 매우 좁은 범위 중 하나에 너무 많은 클러스터 (preference=-11.13) 또는 너무 적은 클러스터 (preference=-11.11를) 나에게주는 것을 발견했다.

환경 설정 매개 변수의 '합리적인'값을 결정하는 방법이 있습니까? 그리고 내가 극단적이지 않은 수의 클러스터를 얻을 수없는 이유는 무엇입니까?

비슷한 질문 :

Affinity Propagation - Cluster Imbalance

Affinity Propagation preferences initialization

+0

overfit되지 매개 변수를 수행합니다! –

+0

알아! 이 경우 우리는 출력을 수동으로 검토하므로 올바른 '올바른'모양이 무엇인지 파악할 수 있습니다. – nitrl

+0

나는 (점 유사점의) 평균과 최소값으로 놀아 보았으며, 그 기능을 적절히 사용하여 선호도를 얻었습니다. 나는 실제로 실제로 실제로 작동하는 방법을 찾기 위해 고심하고있다. – Apollys

답변

1

당신은 sklearn.model_selection.GridSearchCV 또는 sklearn.model_selection.RandomizedSearchCV를 사용하여 시도 할 수 있습니다.

더 작은 클러스터를 생성하도록 하이퍼 매개 변수 검색을 권장하는 사용자 지정 오류 측정 값을 정의 할 수 있습니다. 그런 다음 여러 값을 검색하여 유효성 검사 집합을 기반으로 데이터 집합에 적합한 값을 찾을 수 있습니다.

상세 정보 : http://scikit-learn.org/stable/modules/grid_search.html