gpt4 book ai didi

python - 对基于文本的信息进行分类(即实现字符串内核)

转载 作者:行者123 更新时间:2023-11-30 09:38:43 25 4
gpt4 key购买 nike

我需要对一组消费者数据运行聚类算法,但我不确定如何处理基于文本的字段(完美的例子是字母数字邮政编码,例如 SE1 8XR)。

显然我需要使用的是字符串内核,我了解它的基本思想,但还不足以成功实现。

理想情况下,我希望新的数字向量能够编码这样的想法:两个邮政编码越不相似,数据点彼此之间的距离就越远,但不知道如何做到这一点,而且我无法找到一个有用的教程、指南或教科书!

我也在 Python 中执行此操作,以防有人知道某个库可能有用。

最佳答案

邮政编码

您不能将邮政编码作为字符串进行比较。 “AL1 1AA”是圣奥尔本斯,“AB1 1AA”是阿伯丁。它们的编辑距离非常接近,但 CR6 7DX 距离圣奥尔本斯更近:)

您最好的方法可能是从 http://www.ordnancesurvey.co.uk/oswebsite/products/os-opendata.html 获取一些查找表(我知道您可以从 Royalmail 购买它们)。例如,它需要一个邮政编码,或者至少一个扇区“AL1 1”(甚至可能是“AL1”区),并将其映射到纬度/经度,然后将其用于存储数据。

其他字符串

一种可能的选择是使用 difflib.SequenceMatcher 它返回两个字符串彼此相似程度的百分比分数(还有很多其他算法:谷歌“遗传字符串算法” 、“模糊字符串匹配”、“字符串相似度算法”等...)。将所有(可能)80% 相似的字符串分组,并将它们分配给一个组 - 然后在该组上进行聚类。

您可能还会发现变音位和双变音位(可能还有 ntlk)很有用,具体取决于您的要求和数据的复杂性。

关于python - 对基于文本的信息进行分类(即实现字符串内核),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11506033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com