当前位置: 首页 > news >正文

地理空间智能和相似性分析在数据映射中的应用

原文:towardsdatascience.com/the-power-of-geospatial-intelligence-and-similarity-analysis-for-data-mapping-3ebae73a7e27?source=collection_archive---------7-----------------------#2024-02-17

在数据集成过程中,通过地理编码和字符串匹配战略性地增强地址映射

https://medium.com/@jiayipan999?source=post_page---byline--3ebae73a7e27--------------------------------https://towardsdatascience.com/?source=post_page---byline--3ebae73a7e27-------------------------------- Kirsten Jiayi Pan

·发表于Towards Data Science ·4 分钟阅读·2024 年 2 月 17 日

大数据行业的许多人可能会遇到以下场景:在从不同系统中提取这两条记录时,缩写词“TIL”是否等同于“Today I learned”(今天我学到了)这个短语?当记录以不同的名称出现,但意思相同,您的程序也可能会感到困惑。当我们将来自不同操作系统的有差异的数据汇聚在一起时,数据采集过程可能比原先预想的更耗时!

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0de52bb74048c8450bc7651e644dc70d.png

图片来自:unsplash.com/photos/turned-on-canopy-lights-g_V2rt6iG7A

现在,您正在为一家食品供应链公司工作,该公司的客户来自餐饮行业。公司提供了来自不同操作系统的关于客户联系方式和餐厅详情的两份数据提取。您需要将它们链接在一起,以便前端仪表板团队能够从填充的数据中获得更多信息。不幸的是,这两个数据源没有唯一的主键来进行链接,只有一些地理信息和餐厅名称。本文将通过结合geopyfuzzywuzzy,在手动映射的基础上增强您的地理映射解决方案。

使用pandas读取两个数据源:

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/a347301f74e55c65c3cab943e8d86519.png

作者提供的图片:custom_master.csv

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e57ba899745c1cf57a1c0765aa2f01c3.png

作者提供的图片:client_profile.csv

基础数据清理和手动映射

在处理大型数据集时,需要考虑可能影响映射准确性的每一个因素。将基础数据清理和手动映射作为第一步,可以提高数据的一致性和对齐度,从而获得更准确的结果。

以下代码应适用于两个数据源。

1: 大小写(例如 123 Main St 和 123 MAIN ST 应该映射为相同地址)

2: 不小心的空格和不必要的标点符号(例如 123 Main St_whitespace_ 或 123 Main St; 应该映射为 123 Main St)

3: 邮政缩写的标准化(例如 123 Main Street 应该映射为 123 Main St)

请考虑在实际应用中使用来自美国邮政服务街道后缀缩写的完整标准化邮政缩写映射表,以提高地理位置映射的一致性和准确性。

其他可能影响映射准确性的因素包括地址中的拼写错误(例如 123 Mian St 和 123 Main St)以及简化的地址(例如 123 Forest Hill 和 123 Frst Hl),这些问题在使用手动映射方法时可能会很难处理,这时应该引入更高级的映射技术。

Geopy

Geopy是一个开源的 Python 库,它通过地址地理编码将人类可读的地址转换为精确的地理坐标,在地理空间领域中发挥着重要作用。它使用大圆距离计算来准确地计算经纬度。在地理编码过程中,其他地理编码 API,如 Google Maps Geocoding API、OpenCage Geocoding API 和 Smarty API,也可以根据项目的具体业务需求进行考虑。

在地理编码过程完成后,我们可以使用pandas库通过LATITUDELONGITUDE列合并两个数据框,并检查成功映射的行数。无法映射的地址将转交到下一阶段进行处理。

Fuzzy Wuzzy

Fuzzywuzzy是另一个 Python 库,旨在通过提供一组工具来进行模糊字符串匹配,比较和测量字符串之间的相似性。该库使用如 Levenshtein 距离等算法来量化字符串之间的相似度,特别适用于包含拼写错误或不一致的数据。每次地址比较时,都会生成一个信心得分,这是一个介于 0 和 100 之间的数值。得分越高表示字符串之间的相似度越强,而得分较低则表示相似度较低。在我们的案例中,我们可以使用fuzzywuzzy来处理剩余的无法通过geopy映射的行。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/9687393d2b9a9dfecf5d163ed0959728.png

作者提供的图片:使用 fuzzywuzzy 展示对剩余未映射行的信心得分。

上面的示例仅使用了ADDRESS列进行字符串匹配,若在此过程中加入另一列常见的CLENT_NAME,可以在该业务场景中推动映射进程,从而带来更准确的输出。

结论

这种地址映射技术在各行各业中都具有广泛的适用性。手动映射、geopyfuzzywuzzy的结合提供了一种全面的方法,能够提高地理映射的准确性,使其成为不同行业中面临数据摄取和集成挑战的企业宝贵的资产。

http://www.jsqmd.com/news/843775/

相关文章:

  • 收的顶青岛黄金回收,实体可查,专业鉴定 + 秒到账 - 奢侈品回收测评
  • 【程序源代码】校园论坛仿知乎贴吧微信小程序系统(含源码)
  • 如何快速安装Winget:PowerShell一键部署Windows包管理器终极指南
  • 四足机器人动态运动控制与并联柔顺性优化
  • 使用 Python 和 Taotoken SDK 五分钟内完成第一个大模型调用
  • 基于LangBot框架构建智能对话机器人:从架构解析到生产部署
  • 2026 年 4 月超声波热量表品牌排名,国产替代趋势加速 - 陈工日常
  • Claude Code × DeepSeek V4:从零开始配置与调用实战
  • 旧改门禁落地避坑指南:从上海1700小区失效事件学到的五大教训
  • 杭州四维彩超诊疗机构排行:西湖花生医院领衔第一梯队 - 奔跑123
  • CodeTree:多Git仓库管理工具的设计原理与工程实践
  • 魔兽争霸III终极优化指南:5分钟让你的经典游戏重获新生 [特殊字符]
  • 终极Unity游戏翻译指南:XUnity.AutoTranslator完全手册
  • 品牌设计公司核心方法论全景:从视觉执行到品牌治理的范式演进 - 2026品牌推荐官
  • 石家庄全屋整装厂家技术实力拆解与适配场景推荐 - 奔跑123
  • AlwaysOnTop终极指南:3分钟掌握Windows窗口置顶神器,工作效率提升300%[特殊字符]
  • JetBrains IDE无限期使用终极指南:简单三步永久重置30天试用期
  • 茉莉花插件:5分钟解决Zotero中文文献管理的三大痛点
  • (带显示)单晶硅双法兰液位变送器的产品优势是什么?该如何选型? - 仪表人小余
  • 从原理到实战:晶体管开关电路设计与常见问题解析
  • 别再傻傻换词!应对2026查重算法:3大降AIGC工具全场景实测与5个高阶提示词
  • 如何用LizzieYzy实现围棋AI智能分析:从新手到高手的完整能力图谱
  • Linux应用健康端点实战指南
  • 陕旅地接机构如何选择?行乐学研旅告诉你 - mypinpai
  • 200元预算捡漏ThinkPad:拆掉屏幕电池,打造你的第一台低功耗x86家庭服务器
  • 问疯了的3个问题:研祥工控机哪家实力强?哪家交货快?哪家型号全? - 品牌推荐大师
  • Harness 中的批量响应拆分与逐项处理
  • KeyboardChatterBlocker:拯救老旧机械键盘的终极免费防连击方案
  • FastEmbed:本地化文本嵌入的极速解决方案与向量检索实践
  • Linux巡检报告生成排查方法