打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
《大数据》精华连载6:如何开展大数据研发

1.5 如何开展大数据研发

大数据正带来一场信息社会的变革[5]。大量的结构化数据和非结构化数据的广泛应用,致使人们需要重新思考已有的IT模式;与此同时,大数据将推动进行又一次基于信息革命的业务转型,使社会能够借助大数据获取更多的社会效益和发展机会。

庞大的数据需要我们进行剥离、整理、归类、建模、分析等操作,通过这些动作后,我们开始建立数据分析的维度,通过对不同的维度数据进行分析,最终才能得到想到的数据和信息。例如,项目立项前的市场数据分析,为决策提供支撑;目标用户群体趋势分析,为产品市场支撑;通过对运营数据的挖掘和分析,为企业提供运营数据支撑;通过对用户行为数据进行分析,为用户提供生活信息服务数据支撑和消费指导数据支撑,等等,这些都是大数据带来的支撑。

因此,如何进行大数据的采集、导入/预处理、统计/分析和大数据挖掘,是“做”好大数据的关键基础。

1.大数据的采集

大数据的采集通常采用多个数据库来接收终端数据,包括智能硬件端、多种传感器端、网页端、移动APP应用端等,并且可以使用数据库进行简单的处理工作。例如,电商平台使用传统的关系型数据库MySQL和Oracle来存储每笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。

在大数据的采集过程中,主要面对的挑战是并发数高,因为同时可能会有成千上万的用户来进行访问和操作,例如,12306售票网站和淘宝网站,它们并发的访问量在峰值时达到上百万,所以,需要在采集端部署大量数据库才能支撑,并且如何在这些数据库之间进行负载均衡和分片也是需要深入思考和设计的。

2.导入/预处理

虽然采集端本身有很多数据库,但是如果要对这些海量数据进行有效的分析,还是应该将这些数据导入到一个集中的大型分布式数据库或者分布式存储集群当中,同时,在导入的基础上完成数据清洗和预处理工作。也有一些用户会在导入时使用来自Twitter的Storm来对数据进行流式计算,来满足部分业务的实时计算需求。

现实世界中数据大体上都是不完整、不一致的“脏”数据,无法直接进行数据挖掘,或挖掘结果差强人意,为了提高数据挖掘的质量,产生了数据预处理技术。数据预处理有多种方法,包括数据清理、数据集成、数据变换、数据归约等,大大提高了数据挖掘的质量,降低数据挖掘所需要的时间。

(1)数据清理主要是达到数据格式标准化、异常数据清除、数据错误纠正、重复数据的清除等目标。

(2)数据集成是将多个数据源中的数据结合起来并统一存储,建立数据仓库。

(3)数据变换是通过平滑聚集、数据概化、规范化等方式将数据转换成适用于数据挖掘的形式。

(4)数据归约是指在对挖掘任务和数据本身内容理解的基础上,寻找依赖于发现目标的数据的有用特征,以缩减数据规模,从而在尽可能保持数据原貌的前提下,最大限度地精简数据量。

在大数据的导入与预处理过程中,主要面对的挑战是导入的数据量大,每秒的导入量经常会达到百兆,甚至千兆级别。

3.统计/分析

统计与分析主要是利用分布式数据库,或分布式计算集群来对存储于其内的海量数据进行普通的分析和分类汇总,以满足大多数常见的分析需求,在这些方面可以使用R语言。R语言是用于统计分析、绘图的语言和操作环境,属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

R语言在国际和国内的发展差异非常大,国际上R语言已然是专业数据分析领域的标准,但在国内依旧任重而道远,这固然有数据学科地位的原因,国内很多人版权概念薄弱,以及学术领域相对闭塞也是原因。

R语言是一套完整的数据处理、计算和制图软件系统。它是数据存储和处理系统、数组运算工具、完整连贯的统计分析工具、优秀的统计制图功能、简便而强大的编程语言。与其说R语言是一种统计软件,不如说是一种数学计算的环境,因为R语言并不是仅仅提供若干统计程序,使用者只需指定数据库和若干参数便可进行统计分析。R语言的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动地进行数据分析,甚至创造出符合需要的新的统计计算方法。

在大数据的统计与分析过程中,主要面对的挑战是分析涉及的数据量太大,其对系统资源,特别是I/O会有极大的占用。

4.大数据挖掘

与大数据的统计与分析不同的是,大数据挖掘一般没有预先设定好的主题,主要是在现有数据上面进行基于各种算法的计算,从而起到预测效果,实现高级别数据分析的需求。

数据挖掘常用的方法有预测建模、关联分析、聚类分析、偏差分析等。

(1)预测建模:根据数据集的特征以目标结果为目的建立映射关系。预测建模有两类任务,一是分类,用于预测具有多种属性的数据的类别;二是回归,用于预测连续数据集未来的变化趋势。

(2)关联分析:关联分析是针对数据集中存在的一类重要的、可被发现的知识,关联分析的目标在于发现数据集中隐藏的相关联系。

(3)聚类分析:聚类分析的目的在于将数据集内具有相似特征属性的数据聚集在一起,同一个数据群中的数据特征要尽可能相似,不同的数据群中的数据特征要有明显的区别。

(4)偏差分析:包括很多潜在的有趣的知识,如分类中的反常实例、模式的例外、观察结果对期望的偏差等,其目的是寻找观察结果与参照量之间有意义的差别。

数据挖掘算法是创建数据挖掘模型的一组试探法和计算方法,通过对提供的数据进行分析,查找特定类型的模式和趋势,最终形成创建模型。常用的算法有如下几种。

(1)C4.5算法:一种决策树算法,它是决策树核心算法ID3的改进算法。C4.5算法的优点是产生的分类规则易于理解,准确率较高。缺点是在构造树的过程中,需要对数据集进行多次顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

(2)CART算法:也是一种决策树算法,CART算法考虑到每个节点都有成为叶子节点的可能,对每个节点都分配类别,分配类别的方法可以用当前节点中出现最多的类别,也可以参考当前节点的分类错误或者其他更复杂的方法。

(3)K近邻算法:是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是,如果一个样本在特征空间中的K个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别。

(4)朴素贝叶斯算法:贝叶斯分类是一系列分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。朴素贝叶斯算法是其中应用最为广泛的分类算法之一。

(5)支持向量机SVM算法:支持向量机方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以求获得最好的推广能力。

(6)期望最大化算法(EM算法):期望最大化算法是一种迭代算法,每次迭代由两步组成,E步求出期望,M步将参数极大化。EM算法在处理缺失值上,实际验证是一种非常稳健的算法。

(7)Apriori算法:Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。而且算法已经被广泛应用到商业、网络安全等各个领域。

(8)FP-Tree算法:使用了一种紧缩的数据结构来存储查找频繁项集所需要的全部信息。

(9)PageRank算法:Google的创始人拉里·佩奇和谢尔盖·布林于1998年在斯坦福大学发明了这项技术,以Google公司创办人拉里·佩奇之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。

(10)HITS算法:HITS算法是一种连接分析算法,它是由IBM首先提出的。用户输入关键词后,算法对返回的匹配页面计算两种值,一种是枢纽值,另一种是权威值,这两种值是互相依存、互相影响的。所谓枢纽值,指的是页面上所有导出链接指向页面的权威值之和,权威值是指所有导入链接所在的页面中枢纽之和。

(11)K-Means算法:K-Means算法是一种很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此,把得到紧凑且独立的簇作为最终目标。

(12)BIRCH算法:BIRCH算法是一种综合的层次聚类算法,它用到了聚类特征和聚类特征树两个概念,用于概括聚类描述。聚类特征树概括了聚类的有用信息,并且占用空间较元数据集合小得多,可以存放在内存中,从而可以提高算法在大型数据集合上的聚类速度及可伸缩性。

(13)AdaBoost算法:AdaBoost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。

(14)GSP算法:GSP算法是一种序列挖掘算法,类似于Apriori算法,采用冗余候选模式的剪除策略和特殊的数据结构——哈希树来实现候选模式的快速访存。

在大数据挖掘的过程中,主要面对的挑战是用于挖掘的算法很复杂,并且计算涉及的数据量和计算量都很大,常用数据挖掘算法都以单机/单线程为主。

整个大数据的处理过程,至少应该包括上述四个方面的步骤,即大数据的采集、导入/预处理、统计分析、大数据挖掘,才能算得上一个比较完整的大数据处理流程。

精彩回顾:

↓↓↓

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
大数据的概念、技术应用与分析及数据的处理
数据挖掘RapidMiner工具使用
数据挖掘技术概述
数据挖掘七种常用的方法汇总
数据挖掘在方剂学研究中的应用与发展
一文看懂数据挖掘:哪一种方法最好?都需要哪些技术?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服