首页 理论教育 新能源汽车大数据分析与应用技术-数据挖掘与应用

新能源汽车大数据分析与应用技术-数据挖掘与应用

时间:2023-08-19 理论教育 版权反馈
【摘要】:数据挖掘作为一个新兴的多学科交叉应用领域,正在各行各业的决策支持活动中扮演着越来越重要的角色。在2016年末该网站对用户进行了调研:“在过去12个月中,你在数据分析、数据挖掘、数据科学和机器学习的项目中,经常用到什么软件?”RapidMinerRapidMiner是用于数据挖掘、机器学习、预测分析的开源软件。数据挖掘的流程是以XML文件加以描述,并通过一个图形用户界面显示出来。

新能源汽车大数据分析与应用技术-数据挖掘与应用

1.数据挖掘简介

数据挖掘是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。数据挖掘作为一个新兴的多学科交叉应用领域,正在各行各业的决策支持活动中扮演着越来越重要的角色。随着信息技术的迅速发展,各行各业都积累了海量异构的数据资料。这些数据往往隐含着各种各样有用的信息,仅仅依靠数据库的查询检索机制和统计学方法很难获得这些信息,迫切需要将这些数据转化成有用的信息和知识,从而达到为决策服务的目的。

数据本来只是数据,直观上并没有表现出任何有价值的知识。当我们用数据挖掘方法,从数据中挖掘出知识后,需要判断这种知识是否可信。为了说明这种知识是可信的,现在来简要介绍一下数据挖掘的原理。

数据挖掘的实质是综合应用各种技术,对于业务相关的数据进行一系列科学的处理,在这个过程中需要用到数据库、统计学、应用数学、机器学习可视化信息科学、程序开发以及其他学科。其核心是利用算法对处理好的输入/输出数据进行训练,并得到模型;再对模型进行验证,使得模型能够在一定程度上刻画出数据由输入到输出的关系;然后利用该模型,对新输入的数据进行计算,从而得到新的输出。这个输出然后就可以进行解释和应用了。这种模型虽然不容易解释或很难看到,但它是基于大量数据训练并经过验证的,因此能够反映输入数据和输出数据之间的大致关系——这种关系(模型)就是我们需要的知识。可以说,这就是数据挖掘的原理。从中可以看出,数据挖掘是有一定科学依据的,这样挖掘的结果也是值得信任的。

2.数据挖掘工具

目前,在众多可用于数据分析与挖掘的工具中,既有专业的工具,也有非专业的工具,既有昂贵的商业软件,也有免费的开源软件。KDnuggets网站每年都会做一份关于常用的数据分析软件调查。在2016年末该网站对用户进行了调研:“在过去12个月中,你在数据分析、数据挖掘、数据科学和机器学习的项目中,经常用到什么软件?”参与投票的用户来源于各个数据分析与数据科学领域,共有2895个投票者,从102种工具中进行投票,得到的结果如图3-10所示。根据投票结果,本节将筛选一些工具进行简单的介绍。

978-7-111-59638-7-Chapter03-41.jpg

图3-10 KDnuggets调研得出的2016年常用的数据分析软件

(1)R语言

R是开源编程语言和软件环境,被设计用来进行数据挖掘/分析和可视化。在执行计算密集型任务时,在R环境中还可以调用C、C++和Fortran编写的代码。此外,专业用户还可以通过C语言直接调用R对象,R语言是S语言的一种实现。而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现主要是S-PLUS。但S-PLUS是一个商业软件,相比之下开源的R语言更受欢迎。R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。它可以运行于UNIX、Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的帮助系统。R语言有以下优点:

①R是自由软件,它是完全免费的、开放源代码的。可以在它的网站及其镜像中下载任何有关的安装程序、源代码、程序包及其源代码、文档资料。

②R是一种可编程语言。作为一个开放的统计编程环境,语法通俗易懂,很容易学会和掌握。

③所有R的函数和数据集是保存在程序包里面的。只有当一个包被载入时,它的内容才可以被访问。一些常用基本的程序包已经被收入了标准安装文件中,随着新的统计分析方法的出现,标准安装文件中所包含的程序包也随着版本的更新而不断变化——有2400个程序包,涵盖了基础统计学、社会学经济学生态学以及生物信息学等方面。

(2)RapidMiner

RapidMiner是用于数据挖掘、机器学习、预测分析的开源软件。提供的数据挖掘和机器学习程序包括:数据加载和转换(ETL)、数据预处理和可视化、建模、评估和部署。数据挖掘的流程是以XML文件加以描述,并通过一个图形用户界面显示出来。RapidMiner是由Java编程语言编写的,其中还集成了Weka的学习器和评估方法,并可以与R语言进行协同工作。RapidMiner中的功能均是通过连接各类算子(operator)形成流程(process)来实现的,整个流程可以看做是工厂车间的生产线,输入原始数据,输出模型结果。算子可以看做是执行某种具体功能的函数,不同算子有不同的输入/输出特性。RapidMiner具有丰富数据挖掘分析和算法功能,常用于解决各种的商业关键问题,如营销响应率、客户细分、客户忠诚度及终身价值、资产维护、资源规划、预测性维修、质量管理、社交媒体监测和情感分析等典型商业案例。

(3)SQL

结构化查询语言(Structured Query Language,SQL)是一种具有特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,同时也是数据库脚本文件的扩展名。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3.135—1986),1987年在国际标准组织的支持下成为国际标准。

(4)Python

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,公开发行于1991年。Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU General Public License)协议。

Python以开发效率著称,它致力于以最短的代码完成任务。Python还被称为“胶水语言”,它允许用户可以把耗时的核心部分用C/C++等高效率的语言编写,然后由它来“粘合”,这将很大程度上解决Python的运算效率问题。在大多数数据任务上,Python的运行效率已经可以媲美C/C++语言。Python在数据科学领域占据越来越重要的地位,通过图3-10可以看出2015~2016年,使用Python进行数据分析的用户有明显的增加。Python最大的数据处理优势就是有很多相关的程序库可以安装,调用后即可被用户使用。Python数据分析与挖掘的相关拓展库见表3-3。

如图3-10所示,Scikit-learn也被提到是经常用到的数据分析工具之一,而Scikit-learn是Python下一个强大的机器学习工具包。下面简单讲解Python数据分析功能的第三方拓展库。

3-3 Python数据分析与挖掘的相关拓展库(www.xing528.com)

978-7-111-59638-7-Chapter03-42.jpg

(5)Excel

Excel是微软的Office办公软件的核心组件之一,提供了强大的数据处理、统计分析和辅助决策等功能。在安装Excel的时候,一些具有强大功能的分析数据的扩展插件也被集成了,但是这些插件需要用户的启用才能被使用,这其中就包含了分析工具库(Anlyasis ToolPak)和规划求解向导项(Solver Add-in)等插件。

(6)Hadoop

Hadoop是一个实现了MapReduce计算模型的开源分布式并行编程框架。MapReduce的概念来源于Google实验室,它是一个简化并行计算的编程模型,适用于大规模集群上的海量数据处理,目前最成功的应用是分布式搜索引擎。Hadoop原来是Apache Lucene下的一个子项目,它最初是从Nutch项目中分离出来的专门负责分布式存储以及分布式运算的项目,由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成。其中,HDFS和MapReduce是两个最基础、最重要的成员。

HDFS用于解决海量数据存储问题,支持大数据文件,文件分块存储,并且具有高可靠性和容错性,数据能够自动复制,可自我修复。

MapReduce是一种编程模型,是一种编程方法。通过MapReduce,可以很容易地在Hadoop平台上进行分布式的计算编程,加快数据处理速度,提高效率。

Hadoop的一些主要特点:

①扩容能力(Scalable):能可靠地存储和处理千兆字节(PB)数据。

②成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。

③高效率(Efficient):通过分发数据,Hadoop可以在数据所在的节点上并行地处理它们,这使得处理非常快速。

④可靠性(Reliable):Hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署计算任务。

(7)Spark

Spark最初由美国加州伯克利大学(UCBerkeley)的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。2013年,Spark加入Apache孵化器项目后发展迅猛,如今已成为Apache软件基金会最重要的三大分布式计算系统(Hadoop、Spark、Storm)开源项目之一。Spark具有如下几个主要特点:

①运行速度快:使用DAG执行引擎以支持循环数据流与内存计算。

②容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程。

③通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件。

④运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源。

Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐形成了一套完整的生态系统,既能够提供内存计算框架,也可以支持SQL即时查询、实时流式计算、机器学习和图计算等。Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决方案。因此,Spark所提供的生态系统足以应对上述三种场景,即同时支持批处理、交互式查询和流数据处理。Spark生态系统组件的应用场景见表3-4。

3-4 Spark生态系统组件的应用场景

978-7-111-59638-7-Chapter03-43.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈