四、 本书主要使用的大数据分析工具
大数据现在正在蓬勃发展,因此目前许多大数据分析工具应运而生,并不断改进以提高竞争力。
由于目前收集和管理用户数据的技术、应用程序、软件、游戏越来越多,这就必须使用大数据来管理这些所有不同来源的数据,并将这些数据转化为有价值的信息,以做出行业中最具挑战性的决策。
用于大数据分析的工具有哪些?世界上有数百种大数据分析工具可用,其中只有少数最可靠和值得信赖,比如如下几款分析工具:
Hadoop:它是最流行的数据仓库,可以轻松存储大量数据。
MongoDB:它是领先的数据库软件,可以快速有效地分析数据。
Spark : 最可靠的实时数据处理软件,可以有效地实时处理大量数据。
Cassandra:最强大的数据库,可以完美地处理数据块
Python:一流的编程语言,可轻松执行几乎所有大数据分析操作。
以上为当下主流的大数据分析工具,偏重于专业技术人员使用,在本书中为适应非技术学习者理解和掌握大数据分析方法,特选择如下三种大数据分析工具作为讲解和呈现的依据,它们均有开源、门槛低、应用广泛的特点,现简要介绍如下:
一、Power BI简介
Power BI 是一种商业分析解决方案,可帮助对数据进行可视化、在组织中共享见解、或将见解嵌入应用或网站中。连接到数百个数据源,并使用实时仪表板和报表对让数据变得生动。
我自己的理解是:一个BI(Business Intelligence)工具,可以满足自助式BI、企业级BI、个人数据分析,能发现并放大数据的价值。
值得一提的是,Power BI对于企业和个人都有丰富的应用场景,其处理数据的核心组件在2013版本之后的Excel中均已内嵌,或者说Power BI的功能本身就源自这些组件。
目前微软的Power BI有三种部署方式:Power BI Pro(微软云服务)、Power BI Premium(微软云服务)、Power BI Report Server(报表服务器)。
对于个个人用户如果想部署报表到服务器端并分享给他人,只能使用Power BI Pro(公司邮箱可以注册试用,购买按用户收费)和Power BI Report Server(部署到自己的本地或云服务器)。
如果只是自己做测试推荐使用Power BI Report Server的方式,简而言之,PowerBI Desktop是本地报表的编辑器,可以本机编辑和预览报表,Power BI Pro、Power BI Premium、Power BI Report Server是三种部署方式,前两种是云端部署,第三种是本地部署。如果只是自己本机运行可以不需要部署,只用Power BI Desktop即可。
Power BI由三个部分组成,分别是Power Query(数据获取和处理)、Power Pivot(数据建模和分析)、Power View(数据可视化)。其中Power Query和Power Pivot在2013版本后的Excel中已经内置,功能十分强大,掌握一些技巧后对于办公中的数据处理会有极大提升。
二、Python简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由荷兰人Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样,
Python源代码同样遵循GPL(GNU General Public License)协议。Python核心团队计划在2020年停止支持Python2;从2019年1月1日开始,任何新的功能版本都只支持Python3。
Python 概要:Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。
——Python是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
——Python是交互式语言:这意味着,您可以在一个Python提示符,直接互动执行写你的程序。
——Python是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
——Python是初学者的语言:Python对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到WWW浏览器再到游戏。
Python 发展历史:Python的创始人为Guido van Rossum。 1989年的圣诞节期间,他为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是BBC电视剧——《Monty Python's Flying Circus》(蒙提·派森的飞行马戏团)的爱好者。ABC是由他参加设计的一种教学语言。在他本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,他认为是非开放造成的。他决心在Python中避免这一错误,并获取了非常好的效果,完美结合了C和其他一些语言。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。
Python 2.0于2000年10月16日发布,增加了实现完整的垃圾回收,并且支持Unicode。同时,整个开发过程更加透明,社群对开发进度的影响逐渐扩大。Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
Python 特点:
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得“脚本化”的能力。
三、Orange 3.0主要功能
Orange是一个开源的数据挖掘和机器学习软件。Orange 基于 Python 和C/C++ 开发,提供了一系列的数据探索、可视化、预处理以及建模组件。
Orange拥有漂亮直观的交互式用户界面,非常适合新手进行探索性数据分析和可视化展示;同时高级用户也可以将其作为 Python 的一个编程模块进行数据操作和组件开发。
Orange由卢布尔雅那大学于1996 年开发,从 3.0 版本开始使用 Python 代码库进行科学计算,例如 numpy、scipy 以及scikit-learn;前端的图形用户界面使用跨平台的 Qt 框架。Orange 支持 Windows、macOS以及 Linux 平台。
Orange的组件包括:
数据(Data):包含数据输入、数据保存、数据过滤、抽样、插补、特征操作以及特征选择等组件,同时还支持嵌入 Python 脚本。
可视化(Visualize):包含通用可视化(箱形图、直方图、散点图)和多变量可视化(马赛克图、筛分曲线图)组件。
模型(Model):包含一组用于分类和回归的有监督机器学习算法组件。
评估(Evaluate):交叉验证、抽样程序、可靠性评估以及预测方法评估。
无监督算法(Unsupervised):用于聚类(k-means、层次聚类)和数据降维(多维尺度变换、主成分分析、相关分析)的无监督学习算法。
另外,还可以通过插件(add-ons)的方式为 Orange 增加其他的功能(生物信息学、数据融合与文本挖掘。添加的方法是点击“Options”菜单下的“Add-ons”按钮,打开插件管理器。
Orange是一款初学者友好软件,只需要在 Orange 图形界面中通过拖拽加点击的方式就可以实现常见的数据分析、探索、可视化以及数据挖掘任务;对于高级用户,可以通过开发自定义的组件(Widget)实现扩展的功能,或者在 Python 中利用 Orange 代码库编写数据挖掘脚本程序。