R语言在数据挖掘中的运用

2014-03-05 07:21侯亚君
晋城职业技术学院学报 2014年2期
关键词:结点数据挖掘聚类

侯亚君

(山西管理职业学院,山西临汾 041051)

一、前言

随着近年来电子商务、社交网站、移动终端应用开发等行业的兴起,企业对于用户基本数据、行为数据、网络痕迹数据等信息的掌握逐渐成为其在信息领域的核心竞争力,“用数据说话”、“用数据决策”等已经成为各大企业倡导的未来发展基石。然而,传统的数据全样抽取、数据的随机抽样等分析统计方法不仅时效性差,不适应对实时数据的处理,且由于分析手段的局限性,预测结果数据往往存在有效性差的问题,因此,如何利用海量的数据挖掘出有价值的信息,对于企业来说,是挑战,也是机遇。

二、R语言在数据挖掘应用中的几个主要技术

(一)kmeans

图1为自定义编写的kmeans算法流程图,首先生成绘制函数p.kmeans,然后为数据中的每个样本分配聚类id号,通过mid是中心数据,c.core用于对数据进行聚类的分类,

各个聚类的中心坐标点位置由Mid.core函数来进行计算,通过多个聚类中心点的计算,如果多次计算出的中心点,则停止函数的循环,否则继续循环,直到所有聚类的中心点都相同。

(二)IGRAPH

IGRAPH主要适用于社交网站、电商平台等互动平台,通过对站点的相关图片信息进行分析处理,获取有价值的决策数据。首先通过线段与结点构建图片,并对线段和结点进行赋值:如线段的指向权重,或无方向的权重分别为多少。IGRAPH自带多种图片的创建策略。如“随机算法”是针对将任意两点进行连线生成图片(如图1所示),数据结构中的“最小生成树算法”也可应用到图片生成中,保证最小的连线权重。“穿插算法”会使得两个结点的连接线也穿透第三个结点,对于带方向的图片来说,两个结点连通的充分必要条件M指向N,在无向图中,M和N必须互相指向才能称之为连通。“最短路径算法”是图片创建中最常使用的一种算法,如果图片中的权重值为负数,则会使用到Bellman-ford算法,如果图片中的所有权重都一样,或者都为正数时会使用到Dijkstra算法。大量的连线和结点处理创建图片,对于图片的信息统计处理后即可看到图片包含的所有信息。如图片的连接线和结点的数量、图片的各个结点是连通还是孤立的状态、图片中任意结点之间的距离、图片的对称程度、图片的结点分布情况等等。以上信息对于进行图片的各类特征的统计提供基础数据,如图片的密集点分布特性、方向分布特性等,并找出之间的关联性。

(三)Weka

Weka技术源于1992年开始的一个关于机器学习的新西兰政府项目,包含关于机器学习的多种算法介绍,并提供图形可视化编程环境,便于网络编程人员的学习,一方面可以将对数据的多个操作利用知识流功能进行组合,包括数据的输入输出、数据的初始化、处理、数据的分类和回归、数据的聚类、数据的关联设置、数据的预估、数据的可视化等操作,另一方面也提供用命令来执行另外一个命令的功能。

图 1(a)随机图片 图 1(b)偏好连接

数据初始化操作步骤是用来选择数据的特征值,对数据进行格式的统一化。涉及的函数有Normalize(),Discretize(),分别用于对标准化数据和离散型数据进行处理。

数据的分类用classifer实现,通过训练数据集、测试数据集、交叉校验等方法进行数据评价模型的搭建,最后通过Result list提供的可视化图面查看分类的历史数据,最终通过classifer输出分类结果,并对结果进行验证,可清晰地查看正确分类与错误分类的样本信息,这个过程中涉及的关键算法有最相邻分类算法IBk()、源数据样本提取算法 Bagging()、决策树算法 J48()、向量分类算法SMO()。

数据的聚类中关键的算法有以下几种:

1.Cobweb():建立聚类,然后通过查找数据来适应这个聚类,不适用于大型的数据库。

2.FarthestFirst()、SimpleKMeans():均值算法。

3.XMeans():k均值优化法,能够进行类别数自定义。

4.DBScan():对于将数据库中含有噪声的各类形状形成聚类。

数据的关联规则中关键的算法即Apriori(),可支持少量数据的处理。

预测和评估中的predict()算法用于基于分类和聚类分析结果预测新数据的情况。table()用于对任意两个对象进行比较,evaluate_Weka_classifier()算法用于执行预估模型评估模型的执行。

(四)Holt-Winters

Holt-Winters是数据挖掘中一种基于时间序列的指数平常算法,时间序列是指以某个时间段为周期构成的趋势数据,如下降、保持或上升趋势,而这些历史数据则可以对未来的数据发展趋势提供分析基础。Holt-Winters算法是通过一次和二次指数平滑算法进预测数据走势。一次指数平滑算法的递推关系为:mx=cbi+(1-c)mx-1,其中c是平滑参数,mx是x个数据的平滑值,当c接近1的时候,计算后的数据就越接近当前的数值,通过一次和二次指数,即可在坐标相应位置进行记录,通过累积三次指数的结果对于数据的季节性与趋势能够很好地保存,而通过将三次指数数据进行累积相乘所得的趋势信息更准确。

三、R语言在数据挖掘中的应用实例

无论是电子商务网站、门户网站、在线游戏网站,还是社交网站,对于访问网站的用户群体、用户访问目的、访问停留的时间、网站跳出比例、网站的流量、网站的投入产出比情况等通过信息汇总后进行全面的了解,一方面帮助网站为用户提供更有针对性的服务,另外一方面也帮助网站运维人员发现问题。对于网站产生的大量数据,如果当在某个区间流量基本没有变化时,我们需要进行哪些操作与统计分析来获取决策数据呢。

第一步,我们需要对于搜集到的数据进行细分。此步骤可以使用专用分析工具Analytics,能够对流量的来源、流量的类型(付费/免费)、自主搜索的流量/推荐链接流量均有细致的报告,同时还针对关键词有细分数据报告,可对关键词的搜索频率有非常清晰的了解。

第二步,需要对访问网站的用户群体进行分析,包括老用户的回访率、新用户的增长率,同时还可以自行创建用户群体类别,如按照性别、年龄段、学历、从事行业等。不同类别的比率对于新市场的开拓将有很大的帮助。

第三步,对网站的流量有效性进行评估。当不同的时间段内统计的访问量相同的时候,需要对流量的有效性进行分析,即是部分老用户的反复回访造成,还是多个用户进行初次访问造成。这对于网站制定推广宣传政策将有所帮助。如果提高网站的有效性,R语言中提供了一种质量控制图方法,名为P控制图,这种方法适用于已经确定的数据类型的分析,且主要用于判断“Yes/No”,例如某个时间段内访问用户是否老用户、用户是否完成了购买操作、流量是否由于老用户的多次回访生成……控制图绘制成功后呈现的状态判断以上这些类型的比率是否正常,如出现异常,则找出造成异常的关键因子。这一方法要求数据足够多,且分布情况趋于正太时,需要突出一点的是,对于提供的数据,针对每组数据都可以为其设置上、下限。P控制图的计算公式如下:

第四步,对用户访问的目的进行分析,由于网站的访问量这个数字单独的意义并不大,例如有1万次的访问量,达成购买和只是咨询访问是大相径庭的。因此需要对用户访问的目的进行详细分析,一是针对网站的重点内容的访问情况,二是对于站内的关键词的搜索频率情况,通过这两者的综合分析,将对网站改版、新服务的制订有所帮助。

最后,需要对网站的投入产出比进行分析,即流量的成本与流量产生的价值的比率,在控制成本的前提下,最大限度地提高流量能产生的价值。

四、总结

优秀的数据挖掘工具一方面要求丰富的数据挖掘功能,另一方面也需要优化的算法和用户体验,R语言集成了多种改进后的数据挖掘算法和工具包,且具有开源的特点,交互方式提供可神化界面,还支持数据挖掘工作流的任务定义与执行,极大地简化了编程人员的操作,此外,可通过自定义脚本来进行分析功能及其它诸如C语言、java语言的调用等。综合以上优势,相信R语言未来将在大数据的挖掘领域有更为广泛的应用。

[1][葡]Luís Torgo.数据挖掘与 R 语言[M].北京:机械工业出版社,2013.

[2]邵峰晶,于忠清.数据挖掘原理与算法[M].北京:中国水利水电出版社,2003.

[3]薛毅,陈立萍.统计建模与R软件[M].北京:清华大学出版社,2007.

[4]谢益辉.基于R软件的包的分类与回归树应用[J].统计与信息论坛,2007(5).

[5]WILIAMSG.Rattle:a datamining GUI for R[J].The R journal,2009(1).

猜你喜欢
结点数据挖掘聚类
探讨人工智能与数据挖掘发展趋势
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
基于DBSACN聚类算法的XML文档聚类
基于并行计算的大数据挖掘在电网中的应用
基于高斯混合聚类的阵列干涉SAR三维成像
一种基于Hadoop的大数据挖掘云服务及应用
一种层次初始的聚类个数自适应的聚类方法研究
自适应确定K-means算法的聚类数:以遥感图像聚类为例
基于GPGPU的离散数据挖掘研究
基于Raspberry PI为结点的天气云测量网络实现