String 如何在python中使用机器学习对不同字符串进行聚类

String 如何在python中使用机器学习对不同字符串进行聚类,string,text,machine-learning,cluster-analysis,String,Text,Machine Learning,Cluster Analysis,我有一个由建筑物名称组成的数据集。例如{Hill View,Hill View,Hill公寓…}。我想使用机器学习对这些字符串进行聚类。例如,在聚类后,一个集群应该包含相似或有点相似的字符串{Hill,Hill…}。我尝试过各种scikit算法,如K-means,亲和力传播等,但没有成功。请帮助。机器学习不是魔法! 它使用数学对象和函数 您需要第一步-通常称为数据挖掘-哪种类型包括: 将任何输入(字符串、图片、视频、任何内容…)转换为 数字(向量、矩阵或任何相关结构) 定义向量之间的距离和相似

我有一个由建筑物名称组成的数据集。例如{Hill View,Hill View,Hill公寓…}。我想使用机器学习对这些字符串进行聚类。例如,在聚类后,一个集群应该包含相似或有点相似的字符串{Hill,Hill…}。我尝试过各种scikit算法,如K-means,亲和力传播等,但没有成功。请帮助。

机器学习不是魔法! 它使用数学对象和函数

您需要第一步-通常称为数据挖掘-哪种类型包括:

  • 将任何输入(字符串、图片、视频、任何内容…)转换为 数字(向量、矩阵或任何相关结构)

  • 定义向量之间的距离和相似性(=输入的数字表示之间的距离~=字符串、图片、视频、任何内容之间的距离)

这不是小事,可以根据您的数据/目标以不同的方式完成

因为我不知道你在CS/ML/数学方面的背景,我可以给你一个一般的方法,在一般情况下,这个方法相当好/简单

这是一般的演讲,在实践中,这个问题是复杂的,有很多东西需要学习。 你可能最需要的是<强>编辑距离<强>这是单词之间最直观的距离,你也应该考虑<强>词条<强> 如果没有关于数据/上下文的更多信息,就无法提供更好的anwser

问候

明白了: 请按照此链接进行文档群集: 它给出了一个精确的描述。为了将其转换为具有名称(字符串)列表的普通字符串聚类,只需传递列表而不是解释中传递的标题列表。还可以用要聚类的列表替换示例中出现的每个概要列表(在本例中,包含要聚集的字符串的列表)


您可以跳过一些片段,因为它们提供了额外的信息。将它们保留在代码中不会影响最终的群集。

明白了。使用kmeans将文档群集修改为字符串群集。。现在可以使用:)。无论如何,谢谢。)