APP下载

基于SQLserver2014+ASP.NET的关联规则分析在产品销售中的应用研究

2017-11-20黄雪华

电脑知识与技术 2017年25期
关键词:数据挖掘

黄雪华

摘要:關联规则挖掘是数据挖掘中最重要的挖掘理论之一,广泛应用于图书推荐、产品销售、欺诈发现、疾病医治等实际业务中。该文通过介绍关联规则的相关理论及算法,并应用于产品数据中,结合SQL server及ASP.NET,获取产品销售推荐列表。

关键词:关联规则分析;数据挖掘;产品销售

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)25-0020-03

Abstract: Association rule is one of the most important mining theories. It is widely used in book recommendation, product sale, fraud discovery, disease treatment and other business. This paper introduces the related theories and algorithms of association rules, and applies them to product data, and combines SQLServer and ASP.NET to get the sales recommendation list.

Key words: association rule analysis; data mining; product sales

市场竞争越来越激烈,客户的要求越来越高,如何挖掘出潜在客户和客户潜在的消费模式,激起客户的消费欲望并吸引他们实现消费,是商家时刻关注的重要课题及重大难题,也是关联规则应用的一个非常重要的研究领域。

如今信息量递增,数据呈爆炸式增长,电子商务发展迅速也逐渐成熟,收集了海量的客户信息及消费数据,数据与数据之间存在各种不能为人们很容易就能发现的隐性规律,如产品与产品的关联,用户的潜在兴趣,用户的消费模式。

数据挖掘中的关联规则挖掘能从这些大量的销售数据中发现隐藏的规律,并制定相应的销售策略如通过产品的摆放顺序、打折销售、捆绑销售、推荐产品;从而达到刺激客户的消费欲望的目的,提高销售量,增加销售利润。著名的啤酒与尿片的例子就是从沃尔玛超市销售数据中发现的关联规律。

本文将关联规则理论应用于产品数据,从而发现隐藏的销售规律。

1 关联规则相关理论

关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。交易数据库中关联规则的目的就是发现不同商品之间的联系规则。其典型例子就是“购物篮分析”。该过程通过发现顾客放入购物篮中不同商品之间的联系,分析顾客购买习惯。通过了解哪些商品频繁地被顾客同时购买,可以帮助商家指定营销策略。如顾客经常一起购买的产品可以放在一起,也可以进行捆绑销售。如购买了《数据库》参考书的客户很有可能会购买程序设计语言、数据库应用程序开发、数据挖掘方面的书;这些书籍就可以摆放在一起来增进销售。

1.1 关联规则定义

设I={I1,I2,…,IN}是项的集合,其中i的值(k=l,2,…,m)可以代表购物篮中的物品。其中,项的个数为k,则称该项集称为k-项集[1]。

设D是任务相关的数据库事务的集合,A是一个项集,B是一个项集,A [?]I,B[?]I,且A[?]B=[φ]关联规则A=>B表示当项集A出现时,B也可能会出现。

1.2 关联规则相关概念

关联规则分析涉及几个概念:

一般来说,满足一定支持度和置信度的关联规则,才是用户感兴趣的。设定最小支持度min_s,当项集的支持度大于min_s时就是频繁项集。设定最小置信度min_c,当频繁项集生成的关联规则的置信度大于min_c时,就是强关联规则,一般,强关联规则才是用户感兴趣的规则。

1.3 关联规则算法

Apriori算法[1]是关联规则中最重要的算法。根据任何频繁项集的子集仍然是频繁项集,而任何非频繁项集的超集都是非频繁的,因此,Apriori算法首先找到频繁K-1项集,再由频繁K-1集连接找到频繁K项集;即首先找出所有的一项集C1,后确定所有的频繁一项集I1;再由I1连接形成候选二项集,类似生成频繁三项集及K项集等。

给定事务数据库,如表1所示。假定最小支持度计数为2。

(7) 由I3产生C4,由于{I1,I2,I4}及{I2,I3,I4}都不是频繁集,所以I4=[φ] ,找出了所有的频繁项集,算法终止。可以得到产品I1,I2,I3经常会被一起购买;用户经常会同时购买产品I1,I3,I4。这些经常一起购买的产品可以摆放在一起,或者采取其他的相应的刺激销售的策略。

2 关联规则应用

2.1 产品销售数据说明

客户购买的历史信息中,总共有128种产品,销售订单数据共21255条,销售详单数据共52761条,给出部分事务数据如图1及图2所示,图1给出了销售订单数据,给出了每个销售单号及顾客编号等信息;图2销售详单数据给出了每个销售单号所包含的卖出的产品等数据信息。

2.2 算法运用

(1) SSAS建模

本文采用SQL Server Analysis Service建立挖掘模型,采用关联规则算法对数据进行挖掘分析,所得结果如图3所示。可以获得每种产品的支持度,以及产品之间的关系,完成产品的推荐。销售订单数据包含销售的订单编号,顾客编号等信息;而销售的详单数据则包含每个订单购买的所有产品信息。在此数据上建立v Assoc Seq Orders挖掘模型,采用关联规则算法对产品model这一列进行预测,哪些产品经常被一起购买。可以获取每一种产品的支持度,每一种产品关联最紧密的几种产品,以及产品之间关联的规则。endprint

(2) DMX挖掘

开发客户端应用程序显示挖掘结果,通过ADOMD.NET数据访问对象访问数据挖掘结构。通过DMX[2]表达式对挖掘结果进行查询,输出到客户端应用程序中。在本应用中进行挖掘并预测购买了Mountain-100产品的客户,更可能购买哪四种产品。其DMX语句如下所示:

SELECT FLATTENED PredictAssociation([v Assoc Seq Orders].[v Assoc Seq Line Items],INCLUDE_STATISTICS,4) FROM [v Assoc Seq Orders] NATURAL PREDICTION JOIN (SELECT(SELECT 'Mountain-100' AS[Model]) AS[v Assoc Seq Line Items]) AS t;

建立挖掘结构v Assoc Seq Orders,并获取推荐的四种产品列表及每种产品同时被购买的概率。除了推荐Mountain-100的相关产品,还可以为任何其他产品进行推荐。DMX语句修改如下:

SELECT FLATTENED PredictAssociation([v Assoc Seq Orders].[v Assoc Seq Line Items],INCLUDE_STATISTICS,4) FROM [v Assoc Seq Orders] NATURAL PREDICTION JOIN (SELECT(SELECT '"+product+"' AS[Model]) AS[v Assoc Seq Line Items]) AS t

(3) ASP.NET显示

ADOMD.NET[3] 是对ADO.NET在多维数据集上的扩展,用于面向Aalysis Services数据库的访问,在C#中嵌套DMX语句实现对预测结果的访问与可视化显示,其主要代码如下所示,C#语言与分析服务数据源建立连接并打开连接,执行DMX语句,最后读出并显示出挖掘结果。

2.3 算法运行结果

预测的结果如图4所示,向购买了Mountain-100产品的客户推荐了四种产品,排在第一位的Sport-100产品的支持度为6171,概率约为0.29,即约有29%的可能性购买此产品;排在第二位的产品是Water Bottle,其支持度为4076,具有19.1%的可能性购买该產品。类似的还为客户推荐了产品Patch kit及Mountain Tire Tube。当然,客户还可以在下拉框中选择其他产品的名称,并为其他产品进行推荐。

3 总结

本文介绍了关联规则的相关理论,包括定义,概念及算法,用SQL Server2014为产品销售数据建立挖掘模型进行挖掘分析,采用DMX语句获取挖掘结果为顾客推荐可能购买的产品从而刺激消费,通过在C#语言中采用ADOMD.NET对挖掘结果进行访问,最终把推荐结果显示在网页中。

参考文献:

[1] 韩家炜,Micheline Kamber, Tang,Jian Pei.数据挖掘概念与技术[M].北京:机械工业出版社,2012:157-164.

[2] Jamie MacLennan,ZhaoHui Tang,Bogdan Crivat.数据挖掘原理与应用(第2版)[M].北京:清华大学出版社,2010:278-298.

[3] 黄兴荣,李昌领. 基于SQL Server 2005的数据挖掘的研究[J]. 计算机与现代化,2010,177:195-198.

[4] http://www.cnblogs.com/aspnetx/archive/2013/02/25/2931603.html.endprint

猜你喜欢

数据挖掘
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
基于并行计算的大数据挖掘在电网中的应用
一种基于Hadoop的大数据挖掘云服务及应用
数据挖掘的分析与探索
数据挖掘技术综述与应用
基于GPGPU的离散数据挖掘研究
利用数据挖掘技术实现LIS数据共享的开发实践
高级数据挖掘与应用国际学术会议
高级数据挖掘与应用国际学术会议