蔡丽清 黄晓艳
摘要:随着经济社会的发展,各行各业产生了大量的数据,如何应对海量数据并挖掘出所需要的有用信息,已经成为了当前科技社会的主要趋势。通过利用CART算法建立分类树来对高校超市的销售数据进行分析研究,并能为超市提供决策辅助建议,有助于提高超市经营利润。
关键词:数据挖掘;CART算法;决策树
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)13-0261-03
Abstract: With the development of society and economy, all walks of life to produce a large amount of data, how to deal with huge amounts of data and dig out the useful information needed to, has become the main trend in the current society of science and technology. By CART algorithm based classification tree is used to research and analyze sales data to the supermarket in the university, and can offer decision aid for supermarket Suggestions, help to improve the supermarket business profits.
Key words: data mining; CART algorithm; the decision tree
目前,我们所处在一个信息大爆炸的时代,生活中的时时刻刻都产生了大量的数据,对这些数据进行分析研究已经成为了众多研究学者关注的焦点,因此数据挖掘应运而生[1]。观察我们生活中的环境,大大小小的超市每天都产生了大量的销售数据,因此对超市销售数据的分析与研究,可以为超市决策人员提供决策意义,有助于超市的发展。而校园超市是高校管理层面的一个重要组织部分,除了受不同的季度、不同时段等各种因素的影响,校园超市受学生上课时间段和学生喜好等因素影响更大,因此针对校园超市销售数据的特殊化,根据不同的属性对特定商品的销售数据进行分析、统计,利用CART算法对校园超市销售数据建立决策树,分析出何种情况下学生购买某种商品的概率更大,为超市管理人员进行库存处理和制定营销策略提供可行性建议,有助于提高超市的利润。
1 研究背景与数据处理
1.1研究背景
通过在校园超市拷贝的2015年3月份到2015年6月份以及2015年9月份到11月份的销售数据,我们在此基础上建立了商品表,把商品分成饮料类(A类)、休闲食品类(F类)、生活用品类(I类)等几个大类,由于饮料类和休闲食品类在学生群体中较受欢迎,因此我们决定利用CART算法建立饮料类决策树和休闲食品类决策树。
1.2校园超市销售数据的预处理
1.2.1数据集合
由于从超市管理系统拷贝出来的数据共有上百万条,对所有数据进行分析不大现实,因此我们从中选取了一部分数据进行处理加工。其次,原始销售数据存在太多冗余属性,在删除了一些属性之后剩下流水号、商品名、销售日期
1.2.2合并流水号
由于超市提供的数据是一个商品一条数据,然而有的学生购买的商品不止一个,因此我们将同一个流水号的数据合并为一条数据。
1.2.3添加属性
由于超市提供的数据中有用的属性并不多,并且我们发现学生购买商品受是否为周末、季度、时间段等属性影响较大,因此我们将添加是否为周末或小假期、季度、时段三个属性,并且规定3月、4月为春季(简称spr),5月、6月为夏季(简称sum),9月、10月、11月为秋季(简称aut);另外,时段分为上午、下午、晚上,三个时段的时间段分别定义为早上7点~11点,11点~下午5点,下午5点~晚上11点,分别简称为m,a,e。至此,数据处理完成,最终筛选了1169条数据进行建树。
2决策树的建立
2.1 CART算法
CART算法,最早由美国斯坦福大学和加州大学伯克利分校的Breiman等人于1984年提出。CART决策树采用的是二元递归划分方法,能够处理连续属性和分类属性作为预测变量和输出变量(或目标变量)下的分类,当输出变量是分类属性数据时,所建立的决策树称为分类树,用于分类的预测。当输出变量为数值型变量时,所建立的决策树称为回归树,用于数值的预测[2]。
2.1决策树的建立
2.1.1构建饮料决策树模型
数据共有1169条,小数取小数点后5位,利用CART算法进行建树。购买饮料类:不购买饮料类=689:480,Gini(r1)=0.48402接下来分别计算在此节点下三个属性(是否为周末、季度、时段)的差异性损失,以差异性损失最大的属性作为当前节点的决策属性。
1)是否为周末或小假期属性
用SQL2008查询可知,是否为周末或者小假期=Y的共有248,其中购买饮料类商品:不购买饮料类商品=122:126是否为周末或者小假期=Y的共有921,其中购买饮料类商品:不购买饮料类商品=567:354。因此有:
△(Gr1)= 5.11*10-3
2)季度属性
对于季度属性,有三个不同的输出类,分别为spr、sum、aut,由于利用CART算法建立的决策树是二叉树,因此需要对不同输出类型有两个以上的属性需要形成“超类”,然后再分别计算输出取值的差异性损失。对于季度属性,可分成①{spr/sum,aut},②{sum/spr,aut},③{aut/spr,sum},为了方便计算,可列出所下表1:
3)时段属性
对于时段属性,也是需要形成超类,分别为①{m/a,e},②{a/m,e},③{e/m,a}。同理,可把时段三个不同输出列出下面所示的表2
同理,分别计算三个超类的差异性损失:ΔG(①,r1) =6.7*10-4;ΔG(③,r1)= 8*10-5
到此,通过计算三个属性的差异性损失,可判断出当属性为是否为周末或小假期的时候,差异性损失最大,因此可判断此属性为根节点,以此类推得出决策树如图2所示:
接下来可用同样的方式构建决策树的左分支,如下图所示:
2.1.2预测决策树
对所建决策树进行检测,从数据库中再随机抽取1000条数据进行检测,下面为各分支下训练集和测试集购买率的部分对比:
2.1.3饮料类决策树分析与总结
从上述的饮料决策树和预测结果我们可以看出以下几点结论:
1)从根节点的计算中可以得知,影响校园超市饮料销量最大的因素是是否为周末或小假期属性,因为此属性影响客流量。预测分析,可能由于周末/假期有大量的学生外出,另外学生在周末会有更充裕的时间逛外的超市。因此,超市管理员可以在假期期间对饮料类商品进行补货,避免非假期时间饮料类商品缺货。
2)虽然在假期期间,校园超市的客流量会变少,但是从预测表可以看出,在假期期间,在上午和下午的时段里,学生购买饮料类商品的概率更大,在季度为夏天时更为显著。因此,超市管理人员可以假期期间,使用促销手段,提高饮料类在假期期间的销售量。
3)而在非假期期间,几乎不管什么季节一天中饮料类的被购买的概率都很大。因此超市管理人员需要在假期期间对畅销饮料进行进货工作。另一方面,可以让饮料和其他商品进行捆绑销售,提高超市利润.
2.2休闲食品类决策树
2.2.1构建休闲食品决策树模型
类似饮料类决策树的建立,同理也可以完成休闲食品决策树的构建。休闲食品决策树如下图所示:
2.2.2休闲食品类决策树分析与总结
从上述的休闲食品决策树和预测结果我们可以看出以下几点结论:
1)从根节点上可以看出,主要影响休闲食品的销售量是时段。而从预测表可知休闲食品被购买概率较高的时段是早上和晚上。据了解,学生在早上会买休闲食品作为早餐,比如饼干、面包等,而晚上有许多学生出来吃宵夜。因此超市可以选择在晚上对学生常购买的零食进行打折处理比如:面包、蛋糕、泡面、香肠等。
2)影响着休闲食品的第二因素是周末,在是周末会购买零食的可能性会比不是周末的可能性要高。因为周末学生们都会选择买零食在宿舍度过周末,所以在周末因该增加休闲食品的种类和数量以满足学生们的需求。
3 结论
通过上述实验数据分析,采用CART算法的方法我们可以方便的得出假期、时段、季度对商品销售量的影响,知道学生购买饮料类商品和休闲食品类商品的规律。而通过数据挖掘的分析可以为校园超市管理人员提供辅助性的建议,以提高校园超市的利润。
参考文献:
[1] 张钰莎.数据挖掘在高校图书馆服务中的应用研究[J].廊坊师范学院学报,2015(7).
[2] 蒋盛益.商务数据挖掘与应用案例分析[M].北京.电子工业出版社,2014.1.