四、 本书主要使用的大数据分析工具

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

Information: 四、 本书主要使用的大数据分析工具