Levenshtein距离相似性传播预测查询

2024-09-28 01:28:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我对亲和力传播这个概念了解不多,但在我的项目中,我发现将我正在处理的文本进行聚类是很有用的。目前,我已经广泛地跟踪了我可以在网上找到的任何代码片段。在

所以:

lev_similarity = -1*np.array([[Levenshtein.distance(w1,w2) for w1 in new_data] for w2 in new_data])
ap = sklearn.cluster.AffinityPropagation(affinity="euclidean", damping=0.5)
ap.fit(lev_similarity)

如您所见,我使用Levenshtein算法来定义两点之间的距离。在

我的问题是:

http://scikit-learn.org/stable/modules/generated/sklearn.cluster.AffinityPropagation.html

  1. 在这一点上,我想用这个模型给我一个新点的最近的簇,但是我不知道如何将我的原始字符串矢量化。为了使用ap.预测方法,在这种情况下,如何将字符串转换为适当的形式?在
  2. 或者,将我所有的数据输入到拟合模型中,然后使用完成的模型进行查询,这会更有意义吗?在这种情况下,如何准确地查询字符串中给定关键字的最近的集群?在

编辑:

显然,我使用的是预先计算的距离测量,所以让affinity=“pre-computed”似乎是正确的选择。那样的话

^{pr2}$

新的数据也封装了测试数据。在

然后问题变成了:如何使用这个模型进行查询?在


Tags: 字符串in模型newfordatasklearnw1
1条回答
网友
1楼 · 发布于 2024-09-28 01:28:53

对于您的第一个问题,您提供的文档链接表明“predict”方法接受并返回和数组-这是一个列表。在用户指南(文档中的链接)中,我找到了输入/输出的示例:

    labels_true = [0, 0, 0, 1, 1, 1]
    labels_pred = [0, 0, 1, 1, 2, 2]. 

所以,如果您已经有一个字符串包含要建模的数据,只需将其转换为一个列表。在

文档还描述了AffinityPropagation类返回什么方法来回答第二个问题。在

相关问题 更多 >

    热门问题