3

我有令人鼓舞的成果使用scikit学习的相似性传播实现集群一组实体名称,用修改哈罗 - 温克勒距离作为相似性度量,但我的集群仍然很多(即太许多假阳性)亲和传播偏好参数

我的scikit学习文档,存在着影响簇的数目的“优先”参数,结合下面的描述中看到:

偏好:阵列状,形状(N_SAMPLES次,)或浮动,可选

设定为每一个点 - 具有较大的偏好值的点更可能被选择作为范例。示例的数量,即集群的数量受输入偏好值的影响。如果首选项未作为参数传递,则它们将设置为输入相似度的中位数。 [0]

然而,当我开始与这个值修修补补,我发现价值的一个很窄的范围是给我要么太多集群(preference=-11.13)或过少群(preference=-11.11)。

有一些方法来确定偏好参数的一个“合理”的值应该是什么?那么为什么我无法获得非极端数量的群集呢?

类似的问题:

Affinity Propagation - Cluster Imbalance

Affinity Propagation preferences initialization

+0

不要过度拟合参数! –

+0

我知道!在这种情况下,我们手动审查输出,使我们有一个“正确”应该是什么样子的良好意识。 – nitrl

+0

我尝试玩平均和最小(点的相似之处)和其功能,以获得体面的偏好。我仍然在努力寻找一种实际上可行的方法。 – Apollys

回答

1

你可以尝试使用sklearn.model_selection.GridSearchCVsklearn.model_selection.RandomizedSearchCV

您可以定义鼓励超参数搜索,以产生更小的簇自定义错误的措施。然后,您可以搜索多个值,根据验证集找到适合您的数据集的值。

更多信息: http://scikit-learn.org/stable/modules/grid_search.html