您好, 访客   登录/注册

基于Python的防灾减灾大数据可视化

来源:用户上传      作者:蔡智仲 曾小雨 丘新龙 宋仁敏

  摘要:该文利用Python的网络爬虫技术所采集到的灾害数据,通过灾害主题挖掘模型来达到将信息正确筛选和提取,并将其内容可视化,最后推荐用户,为用户提供时效性、准确性、多样性的灾害可视化系统。
  关键词:数据采集;灾情分析;推荐;可视化
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2022)15-0013-02
  灾害给国家和人民带来巨大损失,因此防灾减灾成为人们关注的重点,诸如对于灾情的发生,如何获取相关数据,通过大数据分析进行筛选正确的内容,实现数据内容的可视化,最终精准效率进行防灾减灾推荐(如投放至相关部门与用户手中)成为关注的热点。目前最受关注的全球疫情数据来源之一――美国约翰斯・霍普金斯大学疫情可视化地图,它的数据已经成为国际公认的最新数据权威来源,定期被世界各地的新闻机构和政府机构所采用,网站的每天的点击量超过10亿次。又如对于最近的温岭槽罐车爆炸事故,如能在最快时间让政府相关部门和公众了解事故,就有可能更大程度减少人民的伤亡等。通过Python的爬虫技术采集数据后分析数据,并且将数据进行可视化推荐给用户,让用户能更加直观了解形势,成为本课题的研究价值和意义[1]。
  1 问题分析
  1.1 灾情数据采集
  基于 python 的网络爬虫技术,同时利用多种爬虫技术进行数据采集,如:分布式网络爬虫,Scrapy爬虫等,以完善数据样本。灾情数据的收集储存主 依托于大数据的存储和检索系统,一种是 No-SQL,另一种大数据管理工具是 Hadoop,使用 Spark 进行操作[2]。
  1.2 灾情数据分析
  主要有两个方面组成的,一是对灾害主题挖掘模型,有 LDA 模型和 TFIDF 模型等,其次是灾害主题分类算法,有朴素叶贝斯算法,KNN算法等。灾情内容的分析利用了聚类分析、倾向性等方法。A向性分析中从自然语言和机器学习的角度进行研究。聚类分析通过话题的检测技术对话题进行组织和归类[3]。
  KNN算法:其核心思维是,如果特征空间中距离我们最近的k个样本中大部分都属于某个类别,那么这个样本也属于这个类别,并且具有该类别样本的特征利用测量出来的不同特征值之间的距离进行分类这就是KNN算法。它的基本思路是:假设一个样本在特征空间中高端k个最相似(也就是特征空间中最相近)的样本中的大部分属于某一个类别,则此样本也属于这个类别。K的大小通常是小于等于20的整数。KNN算法中,所选择好的邻居都是已经正确分类的对象。这个方法在定类决策上仅仅依据最接近的一个或者几个样本的类别来决定待分样本的类别属性[4]。
  K-近邻法可以表示为:设有 N 个已知样本分属于 c 个类 ω i,i=1,…,c,考 查新样本 x 在这些样本中的前 k 个近邻,设其中有 ki 个属于 ω i 类,则 ω i 类的判别函数就是(公式1)
  1.3 灾情数据内容可视化(数图共意的灾害新闻)
  灾害风险的视觉化是一个从语言与话语的结合到视觉修辞的反应的连续过程。一方面,将RST理论用于灾害新闻的数据分析,在视觉修辞下将数据修辞和视觉描绘形象化。另一方面,使用可视化工具来将模型进行数据的转换。例如,一个称为可视化的视觉诊断系统被用来可视化分类器的敏感性和特异性之间的权衡。在这组工具中,我们使用黄色砖块的rocauc类来可视化分类器的敏感性和特异性之间的权衡[5]。
  1.4 信息个性化智能投递
  实现精准的个性化服务,先是建立用户模型,对用户画像进行改进,利用现有推荐算法作为召回操作并添加召回方法,利用优化算法和特征提取方法对模型进行优化,再利用机器学习算法的逻辑回归模型估算点击率,最后使用用户绘图,将图像与召回数据相结合,采用模型进行预判。使用开源工具将用户模型加载到引擎中,并对信息进行优化,使结果更加方便用户,如图1所示。
  2实施方案
  2.1网络数据采集
  首先需要通过爬虫的技术在公开的网站上进行爬虫例如:腾讯新闻网、丁香园等,通过对网站发出请求,会得到一系列的数据,当中的数据有很多是对接下来的操作是没有用的,因此需要进行一定的筛选,保留下所需要的内容[6]。
  2.1.1 数据存储
  对于数据的存储,我们采用的是MYSQL数据库。在存储之前,将数据进行分类,分为历史数据以及详细数据两个大项,在两个表中会有例如在本次的灾害中的伤亡情况、人口失踪情况等的数据项,通过每次的数据更新我们能够实时采到当天的我们采集到当天的数据,并且存放在了数据库中[7]。
  2.1.2 数据分析利用
  通过对数据的存储后,不难发现在这些数据中都是有可以规划的,通过对这几项的数据进行内容规划,能够将这些数据进行可视化的利用。例如将各类数据的增长情况通过曲线图、饼状图、折线图等等来显示[8]。
  2.2 数据可视化
  2.2.1数据可视化的概述
  数据可视化即利用计算机图形学和图像处理等技术,将数据库中的每一个数据项作为图元素表示,将数据的各个属性以多维数据的形式表示,从而将数据以形象化的视图展现出来转换为我们能够一目了然的可视化的线条变化趋势和图像,清晰有效传达信息,让人们直观获取数据,了解数据,给人们提供一个直观的、便捷的、交互的可视化环境,大幅度地提高人们对数据的感知和理解[9]。
  2.2.2数据可视化工具
  现今有许许多多的数据可视化工具,例如:Google Chart、Sigma、ECharts、Vega等,这些工具大体都可以分为三类,一类是面向用户的可视化系统,一类是面向开发者的可视化库。
  本文使用的是ECharts的数据可视化工具,ECharts是国内一款优良的可视化图表控件,由Baidu前端数据可视化团队研发,它与大多数浏览器兼容,而且依赖于底部的轻量级的Canvas类库,供给形象,生动,可互动,可高度个性化定制的可视化的数据图表[10]。

nlc202207151359



转载注明来源:https://www.xzbu.com/8/view-15436005.htm

相关文章