当前位置:文档之家› 河南科技大学数据挖掘课程设计报告

河南科技大学数据挖掘课程设计报告

河南科技大学课程设计说明书课程名称__软件项目综合实践__题目超市商品销售数据挖掘系统学院信息工程学院班级计科113学生姓名彭逸帆学号 111404060319指导教师白秀玲、赵海霞、张蕾日期 2014.9.22~2014.9.30目录第1章数据挖掘基本理论 (1)§1.1数据挖掘的概念 (1)§1.2数据挖掘的步骤 (1)第2章系统分析 (1)§2.1系统用户分析 (1)§2.2系统功能分析 (2)§2.3系统算法分析 (2)第3章数据管理 (2)§3.1数据管理的方法 (2)§3.2数据管理的具体实现过程 (2)第4章数据采集 (2)§4.1数据采集的方法 (2)§4.2数据采集的具体实现过程 (2)第5章数据预处理 (2)§5.1数据预处理的方法 (2)§5.2数据预处理的具体实现过程 (4)第6章数据挖掘 (4)§6.1算法描述与流程图 (5)§6.2数据结构的设计 (5)§6.3算法的具体实现 (6)第7章结果显示与解释评估 (6)§7.1参数设置 (11)§7.2结果显示界面的具体实现 (11)§7.3解释评估 (11)学习体会 (15)参考文献 (15)致谢 (15)§第1章数据挖掘基本理论§1.1数据挖掘的概念数据挖掘又称为数据库中知识发现,它是一个从大量数据中抽取挖掘出来未知的、有价值的模式或规律等知识的复杂过程。

§1.2数据挖掘的步骤首先进行数据预处理,从数据库里提取数据,使其形成集合列表形式,以便在程序中扫描数据库的时候,可以直接遍历此集合列表,即达到扫描数据的目的。

然后生成K项频繁集。

最后通过K项频繁集与最小信任度比较获得关联规则。

并显示关联规则。

生成K项频繁集的过程,首先是生成1项频繁集,之后利用递归方法,直到不能再生成频繁集为止。

§第2章系统分析§2.1 系统用户分析利用数据挖掘技术可以帮助获得决策所需的多种知识。

在许多情况下,用户并不知道数据存在哪些有价值的信息知识,因此对于一个数据挖掘系统而言,它应该能够同时搜索发现多种模式的知识,以满足用户的期望和实际需要。

此外数据挖掘系统还应能够挖掘出多种层次(抽象水平)的模式知识。

数据挖掘系统还应容许用户指导挖掘搜索有价值的模式知识。

比如:作为一个商场主管,肯定想要知道商场顾客的购物习惯;尤其是希望了解在(一次)购物过程中,那些商品会在一起被(顾客所)购买。

为帮助回答这一问题,就需要进行市场购物分析,即对顾客在商场购物交易记录数据进行分析。

所分析的结果将帮助商场主管制定有针对性的市场营销和广告宣传计划,以及编撰合适的商品目录。

比如:市场购物分析结果将帮助商家对商场内商品应如何合理摆放进行规划设计。

其中一种策略就是将常常一起购买的商品摆放在相邻近的位置,以方便顾客同时购买这两件商品;如:如果顾客购买电脑的同时常也会购买一些金融管理类软件,那么将电脑软件摆放在电脑硬件附近显然将有助于促进这两种商品的销售;而另一种策略则是将电脑软件与电脑硬件分别摆放在商场的两端,这就会促使顾客在购买两种商品时,走更多的路从而达到诱导他们购买更多商品的目的。

比如:顾客在决定购买一台昂贵电脑之后,在去购买相应金融管理软件的路上可能会看到安全系统软件,这时他就有可能购买这一类软件。

市场购物分析可以帮助商场主管确定那些物品可以进行捆绑减价销售,如一个购买电脑的顾客很有可能购买一个捆绑减价销售的打印机。

§2.2 系统功能分析我们组所开发的超市销售记录数据挖掘系统是采用关联规则挖掘的方法来挖掘出商家希望得到的销售信息。

关联规则挖掘就是从大量的数据中挖掘出有价值描述数据项之间相互联系的有关知识。

我们开发的超市销售记录数据挖掘系统主要应用就是市场购物分析。

根据被放到一个购物袋的(购物)内容记录数据而发现的不同(被购买)商品之间所存在的关联知识无疑将会帮助商家分析顾客的购买习惯。

如图- 所示。

发现常在一起被购买的商品(关联知识)将帮助商家制定有针对性的市场营销策略。

比如:顾客在购买牛奶时,是否也可能同时购买面包或会购买哪个牌子的面包,显然能够回答这些问题的有关信息肯定会有效地帮助商家进行有针对性的促销,以及进行合适的货架商品摆放。

如可以将牛奶和面包放在相近的地方或许会促进这两个商品的销售。

将商场所有销售商品设为一个集合,每个商品(item)均为一个取布尔值(真/假)的变量以描述相应商品是否被(一个)顾客购买。

因此每个顾客购物(袋)就可以用一个布尔向量来表示。

分析相应布尔向量就可获得那些商品是在一起被购买(关联)的购物模式。

如顾客购买电脑的同时也会购买金融管理软件的购物模式就可以用以下的关联规则来描述:computer=>financial_management_software[support=2%,confidence=60% ]关联规则的支持度(support)和信任度(confidence)是两个度量有关规则趣味性的方法。

它们分别描述了一个被挖掘出的关联规则的有用性和确定性。

规则的支持度为2%,就表示所分析的交易记录数据中有交易记录同时包含电脑和金融管理软件(即在一起被购买)。

规则的60%信任度则表示有60%的顾客在购买电脑的同时还会购买金融管理软件。

通常如果一个关联规则满足最小支持度阈值(minimum support threshold)和最小信任度阈值(minimum confidence threshole),那么就认为该关联规则是有意义的;而用户或专家可以设置最小支持度阈值和最小信任度阈值。

§2.3系统算法分析超市商品销售数据挖掘系统采用关联规则算法,主要进行数据管理。

对数据库中的数据进行管理和维护工作。

数据采集。

从数据库中采集数据,形成事务集合。

数据预处理。

将采集到的数据转换为可进行数据挖掘的形式。

数据挖掘。

采用关联规则中的Apriori算法对超市销售事务集合进行数据挖掘。

结果显示与解释评估。

把挖掘出的结果以一种直观的方式显示出来,并对挖掘出的结果进行评价。

§第3章数据管理§3.1数据管理的方法数据管理是利用计算机硬件和软件技术对数据进行有效的收集、存储、处理和应用的过程。

其目的在于充分有效地发挥数据的作用,而实现数据有效管理的关键是数据组织,在数据库系统中所建立的数据结构,更充分地描述了数据间的内在联系,便于数据修改、更新与扩充,同时保证了数据的独立性、可靠性、安全性与完整性,减少了数据冗余,故提高了数据共享程度及数据管理效率。

我们在数据库中建立了一张表,用于存放所有的销售记录,每条销售记录都存放于这一张表中,用于后面的数据挖掘。

并在录入数据库的过程中检查了数据的正确性,把异常数据剔除在外,确保了数据库的正确性、一致性。

§第4章数据采集§4.1数据采集的方法数据采集在数据挖掘的过程中是必不可少的,毕竟只有采集到了大量的、正确的、完整的数据,才能够为后面数据挖掘提供良好的基础,得到有价值的信息。

本次课程设计中,我们通过走访超市向他们征询销售记录,在网上搜索相关的超市销售记录的方式收集到了两份数据,通过去除异常数据、冗余数据把两份数据合并到一张表里,为后面数据挖掘提供必要的条件,确保得到有价值的信息。

本软件在开发中,数据采集主要是借用程序和人工来实现的。

通过人工的录入来输入超市的销售记录数据,然后再借用所编写的程序来筛选出所要挖掘的销售物品的信息,以备后期数据预处理和数据挖掘所使用。

§第5章数据预处理§5.1 数据预处理的方法实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据挖掘,或挖掘结果差强人意。

为了提高数据挖掘的质量产生了数据预处理技术。

数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约,数据离散化等。

这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。

本次课程设计中主要用到了前四种方法即数据清理,数据集成,数据变换,数据归约完成数据入库前的数据预处理过程,由于种种原因最后选取的数据量不是很大,所以在这里并没有使用全部的数据预处理方法。

§第6章数据挖掘§6.1算法描述与流程图§6.1.1 算法描述Apriori算法是挖掘产生布尔关联规则所需频繁项集的基本算法;它也是一个很有影响的关联规则挖掘算法。

Apriori算法就是根据有关频繁项集特性的先验知识(prior knowledge)而命名的。

该算法利用了一个层次顺序搜索的循环方法来完成频繁项集的挖掘工作。

这一循环方法就是利用k-项集来产生(k+1)-项集。

具体做法就是:首先找出频繁1-项集,记为L1;然后利用L1来挖掘L2,即频繁2-项集;不断如此循环下去直到无法发现更多的频繁k-项集为止。

每挖掘一层Lk就需要扫描整个数据库一遍。

为提高按层次搜索并产生相应频繁项集的处理效率。

Apriori算法利用了一个重要性质,又称为Apriori性质来帮助有效缩小频繁项集的搜索空间。

Apriori性质:一个频繁项集中任一子集也应是频繁项集。

Apriori性质是根据以下观察而得出结论。

根据定义:若一个项集I不满足最小支持度阈值s,那么该项集I就不是频繁项集,即P(I)<s;若增加一个项A 到项集I中,那么所获得的新项集I∪A在整个交易数据库所出现的次数也不可能多原项集I出现的次数,因此I∪A也不可能是频繁的,即P(I∪A)<s。

这样就可以根据逆反公理:即若一个集合不能通过测试,该集合所有超集也不能通过同样的测试。

因此很容易确定Apriori性质成立。

为了解释清楚Apriori性质是如何应用到频繁项集的挖掘中的,这里就以用Lk-1来产生Lk为例来说明具体应用方法。

利用Lk-1来获得Lk主要包含两个处理步骤,即连接和删除操作步骤。

(1)连接步骤。

为发现Lk,可以将Lk-1中两个项集相连接以获得一个Lk 的候选集合Ck。

设l1和l2为Lk-1中的两个项集(元素),记号表示li[j] 中的第j个项;如li[k-2]就表示li中的倒数第二项。

为方便起见,假设交易数据库中各交易记录中各项均已按字典排序。

若Lk-1的连接操作记为Lk-1⊕Lk-1 ,它表示若l1和l2中的前(k-2)项是相同的,也就是说若有(l1[1]=l2[1])∧…∧(l1[k-2]=l2[k-2]) ∧(l1[k-1]<l2[k-1]),则Lk-1中l1和l2的内容就可以连接到一起。

相关主题