APP下载

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

2022-07-02蔡智仲曾小雨丘新龙宋仁敏

电脑知识与技术 2022年15期
关键词:数据采集可视化

蔡智仲 曾小雨 丘新龙 宋仁敏

摘要:该文利用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算法等。灾情内容的分析利用了聚类分析、倾向性等方法。傾向性分析中从自然语言和机器学习的角度进行研究。聚类分析通过话题的检测技术对话题进行组织和归类[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]。8039FACF-0513-41CA-B3B3-E2FAF4178601

2.2.3 数据展现和分析

通过数据可视化工具ECharts对Python爬取过来的数据进行展现和分析,本文利用ECharts绘制了中国地图和折线图进行数据的展现。

获取全国地图数据的主要代码如下:

def get_c2_data():

sql = "select province,sum(confirm) from details " \

"where update_time=(select update_time from details " \

"order by update_time desc limit 1) " \

"group by province"

res = query(sql)

return res

通过观察全国地图分布颜色,当全国各地范围内出现灾情时,颜色越深则说明该地区发生的情况越不乐观;通过全国累计趋势图能够反映每天灾情伤亡情况,能够清晰地看出灾情的走向,给人更加直观的感受;通过全国新增趋势图可以直观发现在该次的灾情中每天带来的人员伤亡情况,侧面也能够反映出灾情的严重程度。

當以上步骤完成后,我们会利用web工具将上面的内容进行整合,利用HTML和CSS技术呈现给用户。

3 结语

最后通过对数据的内容爬取以及数据的分析最终得出的呈现是有参考价值但是不能完全表现出每时每刻的变化。通过对这些数据的每次更新和我们可以实时发现在国内外不同时刻发生的各种大小事情,能够让信息更加便捷到达每个用户的手中,每一个人都能够知道当前的形势。通过对这些数据的分析、可视化,能够让人们的生活更加的便捷。此外,在数据分析研究这类数据能够提取出各个地区的情况,能够快速掌握各个地区的灾情程度,了解其状况,以便各个地区做出合理、有效的措施以便减少人员伤亡以及财产损失。

参考文献:

[1] 张伟.5G可视化数据新闻带来融媒体传播革命[J].中国传媒科技,2019(12):52-53.

[2] 杨凯.基于Hadoop平台的个性化新闻推荐系统的设计与实现[D].北京:北京交通大学,2019.

[3] 杨林.基于标记模板的分布式网络爬虫系统的设计与实现[D].武汉:华中科技大学,2019.

[4] 刘丽群,刘丽华.情感与主题建模:自然灾害舆情研究社会计算模型新探[J].现代传播(中国传媒大学学报),2018,40(7):39-45.

[5] 杜臻.基于特征提取和异常分类的网络流量异常检测方法[D].南京:南京邮电大学,2019.

[6] 韩雪华,王卷乐,卜坤,等.基于Web文本的灾害事件信息获取进展[J].地球信息科学学报,2018,20(8):1037-1046.

[7] 于韬,李伟,代丽伟.基于Python的新浪新闻爬虫系统的设计与实现[J].电子技术与软件工程,2018(9):188,242.

[8] 田江.基于Python的新闻个性化推荐系统优化与实现[D].景德镇:景德镇陶瓷大学,2018.

[9] 高巍,孙盼盼,李大舟.基于Python爬虫的电影数据可视化分析[J].沈阳化工大学学报,2020.

[10] 王子毅,张春海.基于ECharts的数据可视化分析组件设计实现[J].微型机与应用,2016,35(14):46-48,51.

【通联编辑:光文玲】8039FACF-0513-41CA-B3B3-E2FAF4178601

猜你喜欢

数据采集可视化
自然资源可视化决策系统
基于Power BI的油田注水运行动态分析与可视化展示
自然资源可视化决策系统
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于开源系统的综合业务数据采集系统的开发研究