基于数据挖掘的气象数据分析系统的设计

2022-07-04 11:45汪浩然蔡朝朝张津豪娄家正陈毅季晓亮
科学与财富 2022年6期
关键词:数据处理数据挖掘可视化

汪浩然 蔡朝朝 张津豪 娄家正 陈毅 季晓亮

摘  要:伴随着我国云计算与大数据等技术的起兴与发展,我国气象事业等领域积攒了大量的数据信息,因此人们可以利用其技术来指导分析气象。气象数据挖掘是一个新兴的领域,它充分运用大多地域中存在却没有用到的数据,将这些数据按数据挖掘技术的要求进行分析处理、统计分类,可以有效预测气象的在未来一段时间的表现。本文主要讲述“基于数据挖掘的气象数据分析系统”创新项目的研究目的、研究过程和主要功能。我们研发此系统的目的是为了让关注、研究天气的人员或机构更加直接地浏览气象信息,简单地预测近日最高与最低地表温度,大大节约了传统复杂信息整理的工作量,提高观察信息效率。

关键词:数据挖掘;气象分析;数据处理;可视化

一、系统设计

(一)开发工具的选择

Windows10、Pycharm、Navicat Premium、HBuilder X、Jupyter Notebook、sklearn、echarts、python、Django。

關于算法库的选择,sklearn是一个Python第三方提供的非常强力的机器学习库,它包含了从数据预处理到训练模型的各个方面。在实战使用scikit-learn中可以极大的节省我们编写代码的时间以及减少我们的代码量,使我们有更多的精力去分析数据分布,调整模型。sklearn拥有可以用于监督和无监督学习的方法,一般来说监督学习使用的更多。sklearn中的大部分函数可以归为估计器(Estimator)和转化器(Transformer)两类。估计器(Estimator)其实就是模型,它用于对数据的预测或回归。基本上估计器都会有以下几个方法:fit(x,y):传入数据以及标签即可训练模型,训练的时间和参数设置,数据集大小以及数据本身的特点有关。score(x,y)用于对模型的正确率进行评分(范围0-1)。但由于对在不同的问题下,评判模型优劣的的标准不限于简单的正确率,可能还包括召回率或者是查准率等其他的指标,特别是对于类别失衡的样本,准确率并不能很好的评估模型的优劣,因此在对模型进行评估时,不要轻易的被score的得分蒙蔽。predict(x)用于对数据的预测,它接受输入,并输出预测标签,输出的格式为numpy数组。我们通常使用这个方法返回测试的结果,再将这个结果用于评估模型。转化器(Transformer)用于对数据的处理,例如标准化、降维以及特征选择等等。同与估计器的使用方法类似:fit(x,y):该方法接受输入和标签,计算出数据变换的方式。transform(x):根据已经计算出的变换方式,返回对输入数据x变换后的结果(不改变x)fit_transform(x,y):该方法在计算出数据变换方式之后对输入x就地转换。

关于开发工具的选择,Pycharm在兼容性、灵活性、生态系统、社区交流方面都具有一些优势。

关于可视化插件的选择,echarts包含了丰富功能的图表,还提供了自定义系列,只需要传入一个renderItem函数,就可以从数据映射到任何你想要的图形,更棒的是这些都还能和已有的交互组件结合使用而不需要操心其它事情。

关于前端框架的选择,Django海量的自带工具和功能组件,开发者可借此迅速搭建Web应用。且Django的Model层自带数据库ORM组件,即使不懂SQL也不影响数据库操作。凭借自带的后台管理,开发者仅需少量代码就可实现完整的后台数据管理。其APP可插拔的设计理念,使得系统可维护性极高,即使随意对其添加和删除,也不会对整体系统产生影响。

二、系统实现

(一)前端

主要页面包括用户登录界面,登录之后将会展现各地区的气温、污染指数、空气质量等信息,其页面主要是存在Templates下的count文件下,内容为根据爬取的数据绘制的最高气温变化、最低气温变化、平均污染变化的折线图与饼状图。上面有导出数据、机器学习跳转链接,分别是下载数据与跳转数据分析可视化、构造回归模型后预测结果的界面。

(二)数据获取与存储

数据的获取是利用了网络爬虫技术,依靠requests模块,传递2345天气网的url,发送请求并且获取响应。通过分析url,需要填入起始日期与结束日期的参数,然后进行拼接,最终可以获取我们所要的时间范围内的数据。数据的返回的格式是json格式,将我们想要获得的是data字符里面包含的天气信息,通过python取字典的值的方式获取。最终获取的数据比较规整,只需要把\\替换为空就可。

数据的存储是依靠Sqlite数据库,Django框架本身默认的就是Sqlite数据库,创建的时候便就已经自带,方便快捷。同时,它管理简单,甚至可以认为无需管理。操作方便,Sqlite生成的数据库文件可以在各个平台无缝移植。可以非常方便的以多种形式嵌入到其他应用程序中,如静态库、动态库等。本项目有5张表,其中核心表为weather表。

(三)数据处理与分析

根据大量的数据值,我们对最高温度与最低温度进行随机森林训练,把最终训练的模型存放在ml文件夹下。随机森林是一种元估计器,它在数据集的不同子样本上匹配多个分类决策树,并使用均值来提高预测精度和控制过拟合。如果bootstrap=True(默认),则使用max_samples参数控制子样本的大小,否则将使用整个数据集来构建每棵树。

随机森林有两种算法:

(1)RandomForest algorithm:

样本提取时允许replacement,在随机选取的部分features上进行划分,与原论文的vote方法不同,sklearn通过平均每个分类器的预测概率来生成最终结果。

(2)Extremely Randomized Trees:

有两个class,分别处理分类和回归,默认使用所有样本,但划分时features随机选取部分。

随机森林算法既可以应运到分类RandomForestClassifier(随机森林分类)、又可以用于回归问题RandomForestRegressor(随机森林回归)。

参考文献:

[1] 钟晓,等.数据挖掘综述[J].模式识别与人工智能,2001,vol.14No.1,48-55.

[2] 吉根林,孙志挥.数据挖掘技术[J].中国图像图形学报,2001,vol.6(A),vol.8:715-721.

作者简介:蔡朝朝(1978-),女,福建闽侯人,通讯作者,副教授,研究方向:数据库技术与程序设计;汪浩然(2000-),男,安徽合肥,在读本科生,研究方向:计算机科学与技术;张津豪(2000-),男,江苏徐州,在读本科生,研究方向:计算机科学与技术;娄家正(1999-),男,江苏徐州,在读本科生,研究方向:计算机科学与技术;陈毅(1999-),男,重庆,在读本科生,研究方向:计算机科学与技术;季晓亮(1999-),男,江苏南通,在读本科生,研究方向:计算机科学与技术。

基金项目:新疆农业大学2021年大学生创新项目:基于数据挖掘的气象数据分析系统的设计(dxscx2021321)

猜你喜欢
数据处理数据挖掘可视化
基于CiteSpace的足三里穴研究可视化分析
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于Power BI的油田注水运行动态分析与可视化展示
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
探讨人工智能与数据挖掘发展趋势
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用