基于Python的可视化数据分析平台设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Computer Era No.122017
0引言
随着云计算、物联网、社交网络等的兴起和数据库技术的成熟,社会中的各类数据正在以前所未有的速度增长。传统的数据处理方式难以发掘出海量数据中所隐藏的规律,因此我们需要借助编程语言和数据分析软件进行数据挖掘,采用算法建立恰当的模型,可视化地展示出数据中隐含的规律,从而为人们的生产生活、经济发展等提供决策和建议[1-2]。
但是,在数据分析需求与日俱增的同时,普通用户在进行数据分析和使用相关工具时也面临着诸多
问题,比如较高要求的门槛、相关的知识储备、一定的学习成本以及必要的指导需求等。现有的专业数据分析软件又或多或少地存在着一些问题,例如:MATLAB 安装文件就高达8G,运行环境要求高,不开源又使得费用非常昂贵;SPSS 操作虽然方便,但是可扩展性非常弱,没法对算法进行改进;SAS 非常强大,然而不开源外加版权控制非常严格[3]。此外,数据挖掘与处理是一门涉及数学、统计学、计算机科学等的课程,若没有经过实践操作与理论学习的结合,很难真正将其理解掌握并加以应用。
DOI:10.16644/33-1094/tp.2017.12.015
基于Python的可视化数据分析平台设计与实现*
严
婷1,文欣秀1,赵嘉豪1,王家辉1,杜
傲2,白瑞杰3
(1.华东理工大学信息科学与工程学院,上海200237;2.华东理工大学资源与环境工程学院;
3.华东理工大学机械与动力工程学院)
摘
要:在大数据的时代背景下,考虑到与日俱增的数据分析需求以及传统数据分析工具的高门槛性、操作复杂性等问
题,基于Python 和Django 框架设计了一个具备数据分析、案例交流、算法学习等功能的可视化数据分析平台,旨在帮助没有算法基础的普通用户快速进行数据分析,并迅速获取可视化的分析结果。该平台还可以作为数据挖掘课程的辅助教学工具以及数据分析的科普平台。
关键词:Python ;数据分析;教学辅助;可视化中图分类号:G434
文献标志码:A
文章编号:1006-8228(2017)12-54-03
Design and implementation of visualized data analysis platform based on Python
Yan Ting 1,Wen Xinxiu 1,Zhao Jiahao 1,Wang Jiahui 1,Du Ao 2,Bai Ruijie 3
(1.School of Information Science and Engineering,East China University of Science and Technology,Shanghai 200237,China;2.School of Resource and Environmental Engineering,East China University of Science and Technology;3.School of Mechanical and Power Engineering,East
China University of Science and Technology )
Abstract :In the big data era,taking into account the increasing demand for data analysis and the high threshold of traditional data analysis tools,operational complexity and other issues,a visualized data analysis platform with functions of data analyzing,case exchanging and algorithm learning is designed based on Python and Django framework to help ordinary users without algorithm base to do data analysis quickly and obtain visualized analysis results quickly.And the platform can also be used as an auxiliary teaching tool for data mining courses and a popular science platform for data analysis.Key words :Python ;data analysis ;teaching aids ;visualization
收稿日期:2017-09-21
*基金项目:“大数据流通与交易技术国家工程实验室”2017研究专项“面向智慧商圈的智能分析技术研究项目”;2016年Google 支持教育部产学合作育人项目专业综合改革项目(201601005019);全国高校计算机基础教育研究会教学改革课题(2016061)
作者简介:严婷(1997-),女,陕西宝鸡人,本科,主要研究方向:数据挖掘,机器学习。
通讯作者:文欣秀(1975-),女,河南新乡人,博士,讲师,主要研究方向:软件工程,形式化方法,计算机教育。
·
·54
计算机时代2017年第12期
基于以上问题,本文详细描述了一个面向更广大普通用户的简单易用的可视化数据分析系统的开发过程,旨在使不具有完备数据分析能力、算法基础的用户能够快速上手进行数据分析。与此同时,系统也作为一个数据挖掘课程的辅助教学工具而投入实际教学之中,帮助学生清晰了解各类算法,融理论学习、动手操作、案例教学为一体,更好地学习数据挖掘及其应用。
1可视化数据分析平台的设计
1.1平台核心技术
本平台开发语言是Python,使用了Numpy,Mat-
plotlib,Mysql-python 等多个第三方模块撰写可配置的算法[4],并封装成函数作为I/O 接口用以进行数据分析。系统的网站搭建采用B/S (Browser/Server )平台技术,使用HTML、CSS、JS 实现网页展示,利用Django 框架实现后台处理。用户可以在网站上选择相应的算法,输入想要分析的数据或上传相关csv 文件就能得到使用Echarts 可视化的分析结果。1.2平台结构和功能
平台主要包含三大功能模块:一是在线数据分析;二是案例系统;三是开源论坛。此外,为了便于用户使用,平台还提供了帮助中心。平台功能框架图如图1所示。
图1
系统功能框架图
1.2.1在线数据分析
在线数据分析主要包括探索性数据分析、数据预处理及挖掘建模。
⑴探索性数据分析:用户导入调查、观测所得的杂乱无章的初步数据,平台在尽量少的先验假定条件下进行处理,通过作图、制表等形式和方程拟合、计算某些特征量等手段,探索数据的结构和规律,如极差、均值、中位数、标准差、变异系数等。
⑵数据预处理:异常值检测指用户选择要检测异常值的文件,平台通过做出对应箱型图来直观反映原始数据的分布情况,并体现出异常值。缺失值处理指平台采用拉格朗日插值法对含有缺失值的文件进行处理,给出缺失值处的插值结果、原始数据与插值结果图。
⑶挖掘建模:平台采用了一系列算法(如:KNN、决策树、K-means、PCA、线性回归等)对数据进行分析与处理,并进行可视化展示。比如:若用户需要进
行聚类分析,只需选择待分析文件并在平台上输入想要将其聚为几类,平台即可利于K-means 算法并结合文件中数据的维数,自动选择合适的图表,给出分析结果图以及必要的文字说明。若用户需要对数据进行降维处理,用户只需上传文件并输入原始数据维度和想要降至几维,系统利用PCA 算法对数据进行降维处理,保留原始数据中的主要成分,给出原始数据结果图与相应的降维结果图。1.2.2案例系统
案例系统提供一个用户间进行案例分享与交流学习的平台。我们根据系统在学生中的试用反馈,撰写了一些和实际专业相结合的案例,例如:在DNA 分类中利用KNN 算法;在杨氏模量实验中利用线性回归算法处理实验数据;在机械设计中利用拉格朗日插值快速检索数据。这些案例可以帮助用户更好地理解数据分析及其应用,从而利用本系统解决学习生活中的问题。每个案例的展示界面都有详细的问题背景
·
·55