APP下载

基于HBase的图书借阅数据挖掘模型设计与实现

2017-07-12高武奇

电子设计工程 2017年12期
关键词:数据挖掘分布式向量

高武奇,岳 鑫

(1.西安工业大学 计算机科学与工程学院,陕西 西安 710021;2.西安工业大学 理学院,陕西 西安710021)

基于HBase的图书借阅数据挖掘模型设计与实现

高武奇1,岳 鑫2

(1.西安工业大学 计算机科学与工程学院,陕西 西安 710021;2.西安工业大学 理学院,陕西 西安710021)

针对高校图书借阅数据量大难以存储和有效利用的问题,提出基于云计算的分布式数据库HBase来存储相关数据,用数据挖掘的方式对其分析的模式,在分析Hadoop、HBase和数据挖掘有关技术的基础上,给出了详细的实现方案。实证结果表明:这种方式能有效实现对海量数据难以存储和分析。

HBase;Hadoop;数据挖掘;支持向量机;图书馆

数据是信息的载体,随着信息化的不断发展,数据在现代社会生活中承担着越来越重要的角色。社会网络分析就是利用图论、数据挖掘等技术手段从社会网络数据集中寻找有用的信息。由于社会网络分析所处理的数据通常是很庞大的,因而对数据处理的能力要求很高。

图书管理系统每天都会产生大量的统计数据,这些海量信息中蕴涵了对图书管理(如采购、馆藏、咨询等)有指导性的潜在信息。但传统的图书管理系统只有简单的借阅查询功能,难以从多维的角度对数据进行提取,进而为图书管理提供决策支持[1]。

数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、统计学技术,高度自动化地分析企业原有的数据,做出归纳性的推理,从中挖掘出潜在模式,预测客户的行为,帮助企业的决策者调整市场策略以减少风险,做出正确的决策。

以上情况就迫切需要我们解决数据存储和分析中存在的瓶颈。在分析了现有分布式存储系统与云计算平台的基础上,文中提出了一种基于Hadoop平台的分布式数据存储和应用方案。本文重点阐述了图书借阅数据分布式存储与查询在Hadoop平台上的实现。最后在Hadoop数据服务平台上实现了面向软件客户端的数据访问服务。

图书借阅数据分布式存储与查询方案在Hadoop平台上的成功实施具有很重要的意义。Hadoop平台只需要部署在普通的廉价PC机上即可运行,数据处理能力却很强[2],因此具有很高的现实意义与应用价值。

1 Hadoop技术

Hadoop文件系统是主从架构,一个Hadoop文件系统由唯一一个目录节点(NameNode)和数个数据节点(DataNodes)组成。目录节点是集群里面的主节点,负责文件名的维护管理,也是客户端访问文件的入口。文件名的维护包括文件和目录的创建、删除、重命名等。同时也管理数据块和数据节点的映射关系,客户端需要访问目录节点才能知道一个文件的所有数据块都保存在哪些数据节点上。数据节点一般就是集群里面的一台机器,负责数据的存储和读取。在写入时,由目录节点分配数据块的保存,然后客户端直接写到对应的数据节点。在读取时,当客户端从目录节点获得数据块的映射关系后,就会直接到对应的数据节点读取数据。数据节点也要根据目录节点的命令创建、删除数据块,和冗余复制[3]。

图1 Hadoop文件系统

图2 MapReduce的运行模型

MapReduce的运行模型如图2一个Map操作就是对一部分原始数据进行指定的操作。每个Map操作都针对不同的原始数据,因此Map与Map之间是互相独立的,这就使得他们可以充分并行化。一个Reduce操作就是对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的Map中间结果互不交叉,所有Reduce产生的最终结果经过简单连接就形成了完整的结果集,因此Reduce也可在并行环境下执行。

2 Hbase技术

HBase--Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用 Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

图3描述了Hadoop EcoSystem中的各层系统,其中HBase位于结构化存储层,Hadoop HDFS为HBase提供了高可靠性的底层存储支持,Hadoop MapReduce为HBase提供了高性能的计算能力,Zookeeper为HBase提供了稳定服务和failover机制。

图3 Hadoop EcoSystem系统

此外,Pig和Hive还为HBase提供了高层语言支持,使得在HBase上进行数据统计处理变的非常简单。 Sqoop则为HBase提供了方便的RDBMS数据导入功能,使得传统数据库数据向HBase中迁移变的非常方便。

3 数据挖掘

数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、统计学技术,高度自动化地分析企业原有的数据,做出归纳性的推理,从中挖掘出潜在模式,预测客户的行为,帮助企业的决策者调整市场策略以减少风险,做出正确的决策。

CRISP-DM是一种业界认可的用于指导数据挖掘工作的方法。该模型将一个知识发现(KDD,Knowledge Discovery in Database)工程分为6个不同的,但顺序并非完全不变的阶段[5],如图4所示。

图4 CRISP-DM数据挖掘流程图

1)商业理解。在第一个阶段我们必须从商业的角度上面了解项目的要求和最终目的是什么,并将这些目的与数据挖掘的定义以及结果结合起来。

2)数据理解。数据的理解以及收集,对可用的数据进行评估。

3)数据准备。对可用的原始数据进行一系列的组织以及清洗,使之达到建模需要。

4)建立模型。应用数据挖掘工具建立模型。

5)模型评估。重点具体考虑得出的结果是否符合第一步的商业目的.

6)结果部署。部署就是使用您的新的深入见解在组织内部进行改善的过程。这可以表示正式的集成,例如实施一个用于生成随后要读入数据仓库中的流失得分的PASW Modeler模型。此外,部署还意味着您可以使用从数据挖掘中获得的深入见解改善您的组织。例如,也许您会发现您数据中的报警模式指明年龄超过30岁的客户行为会发生改变。这些结果可能不会正式集成到您的信息系统中,但它们无疑对于计划和制定营销决策非常有用。

用于分类分析的数据挖掘算法有决策树、神经网络和支持向量机等。本文采取在数据量相对较小情况下依然可以获得较好性能的支持向量机作为数据挖掘算法。支持向量机可以支持向量机简称SVM(Support Vector Machines)是Vapnik等人根据统计学理论提出的一种机器学习方法,它集成了最大间隔超平面、Mercer核、凸二次规划和松弛变量等多项技术[4]。支持向量机的方法根据结构风险最小化原则,大大提高学习机的泛化能力,它将优化问题转化为求解一个凸二次规划的问题,二次规划所得的解是唯一的且为全局最优解,这样就不存在一般神经网络的局部极值问题。支持向量机由于较好地解决了小样本、非线性、高维数、局部极小点等实际问题,在若干具有挑战性的应用中,获得了目前为止最好的性能。支持向量机已经逐渐成为解决模式分类问题的首选工具。特征提取对分类有着重要的影响,如何有效提取EEG信号所包含的信息成为脑电分类问题的关键步骤,自发脑电信号具有丰富的频率成分,不同的生理状态和病因下,某些频段的能量在头皮不同区域的分布会发生变化,因此可以将不同区域上不同频段的能量作为分类器的特征向量。小波变换是一种多尺度的信号分析方法,具有良好的时频局部化特性,可以用于EEG信号的频率能量特征提取。

4 设计与实现

4.1 系统支持环境

1)图书馆管理系统采用Windows2003下的MS SQL Server2000;

2)Hbase数据库采用Red hat 9下的Hadoop和HBase CHD3B4版本;

3)Clementine数据挖掘工具采用在Windows XP下的SPSS Clementine13.0。

4.2 基于HBase的图书借阅数据挖掘实现流程

图5 基于HBase的图书借阅数据挖掘实现流程

1)图书馆借阅数据导入My SQL数据库

图书馆借阅数据库MS SQL SERVER属于关系型数据库,Hbase输入分布式数据库,从SQL SERVER直接到HBase较困难,但APACHE提供了SNOOP工具可以实现My SQL到HBase的转换,因此本文采用首先将SQL Server转入My SQL,然后利用SNOOP工具从My SQL导入HBase数据库。

将SQL Server转入My SQL。使用SQL Server自带的DTS数据转换工具,设置如图6的源、目标和转换规则后即可实现二者之间的转换。

图6 将SQL Server转入My SQL

2)利用SNOOP工具从My SQL导入HBase数据库

3)Clementine数据挖掘工具

用于挖掘的样本数据和模型部署阶段的输入的数据均用数据库作为数据源,这样可以通过ODBC连接不同的数据库,从而解决模型受数据库平台的限制。通过模型预测的结果也用数据库保存,从而可以在信息系统中以WEB形式查看。图7为Clementine挖掘流程,上半部分为挖掘过程,下半部分为模型的应用。为使模型脱离Clementine应用,可以采用导出PMML文件或用Runtime运行,根据第3部分的分析,这里采用效果较优的Runtime引擎部署模型。

支持向量机用于对图书借阅分析的原理是:把所选择的图书借阅做为样本集,将代表分类结果的量作为类别属性输出。由于所选样本集是非线性的,因此,采用非线性SVM分类算法。非线性SVM分类算法通过内积核函数的运算,建立一个最优分类超平面,根据样本离分类超平面的距离,来判断误判率。支持向量机构建设置如表1所示。

图7 Clementine数据挖掘流程

表1 支持向量机构建设置

4)分析结果展示

本系统支持向量机的运行结果分析如表2所示,从表中可以看出,支持向量机对训练集的误判数为578,误判率为1.022%;对测试集误判数为1,误判率为5%,总样本的误判率为1.023%;56 552个训练集的分类正确率为98.978%,20个测试样本的分类正确率为95%,总的72个样本的正确率为98.977%。

表2 支持向量机模型分类正确率表

分类正确率表显示该方法效果理想,可以给出如下结论:

1)英语和计算机类图书最受欢迎,借阅次数多。

2)研究生对图书馆的利用率明显高于本科生,说明研究生学习更积极。

3)专科生主要借阅文艺社科类图书,说明他们对文化课的学习不够重视。

5 结 论

文中提出了用基于云计算的HBase来存储海量图书借阅数据的思想,在此基础上,采用SPSS Clementine数据挖掘工具的支持向量机对借阅情况分析。以某高校图书馆借阅数据为样本,对这种方案进行的实证,结果表明,这种:这种方式能完成对海量借阅数据的分析,对其他大数据的存储和分析提供借鉴。

[1]胡钦文.数据仓库和ETL、OLAP技术在图书借阅分析系统中的应用[J].中国高新技术企业,2009(21):63-64.

[2]陈勇.基于Hadoop平台的通信数据分布式查询算法的设计与实现[D].北京:北京交通大学,2009.

[3]王峰,雷葆华.Hadoop分布式文件系统的模型分析[J].电信科学, 2010(12):95-99.

[4]张智,朱齐丹,严勇杰.基于V-支持向量机与ε-支持向量机的非线性系统辨识[J].弹箭与制导学报, 2006(S1):278-281.

[5]郑荔平.数据挖掘流程中数据准备的探讨 [J].漳州师范学院学报:自然科学版,2004(4):65-67.

[6]刘志勇,王阿利,魏迎,等.关联规则数据挖掘在图书馆个性化服务中的应用研究[J].电子设计工程,2012(7):16-17.

[7]王海涛,陈树宁.常用数据挖掘算法研究[J].电子设计工程,2011(6):90-92.

Books lending data mining modeling based on the HBase

GAO Wu-qi1,YUE Xin2
(1.School of Computer Science and Engineering,Xi’an Technological University,Xi’an 710021,China;2.School of Science,Xi’an Technological University,Xi’an 710021,China)

This paper addresses the problem of large amount of data storage and effective utilization.Based on cloud computing,distributed database HBase and data mining technology are provided to store book lending data and library lending analyzing.The technologies of Hadoop,Hbase and data mining are studied,and the realization process is given, The experiment shows the method can effectively store mass data and mine the Potential law.

HBase;Hadoop;data mining;VRM;library

TP311.13

A

1674-6236(2017)12-0033-04

2015-08-18稿件编号:201508100

高武奇(1975—),男,陕西合阳人,博士研究生,副教授。研究方向:云计算,计算机仿真,大数据等。

猜你喜欢

数据挖掘分布式向量
向量的分解
聚焦“向量与三角”创新题
探讨人工智能与数据挖掘发展趋势
分布式光伏热钱汹涌
分布式光伏:爆发还是徘徊
基于并行计算的大数据挖掘在电网中的应用
向量垂直在解析几何中的应用
一种基于Hadoop的大数据挖掘云服务及应用
向量五种“变身” 玩转圆锥曲线
基于DDS的分布式三维协同仿真研究