文档介绍:Apriori 算法实验报告
学号:
姓名:
专 业: 计算机应用技术
教师:
计算机学院
目录
1 APRIORI 实验
实验背景
国内外研究概况
发展趋势
实验内容与要求
度。用 Hash 树可以有效地确定 Ck 中包含在一个给定的事务 t 中 的候选。如果某项集满足最小支持度, 则称它为频繁项集。
Apriori 算法的步骤
步骤如下:
1、 设定最小支持度s和最小置信度c;
2、 Apriori 算法使用候选项集。首先产生出候选的项的集合,即候选项集,若候选项 集的支持度大于或等于最小支持度,则该候选项集为频繁项集;
3、 在 Apriori 算法的过程中,首先从数据库读入所有的事务,每个项都被看作候选 1-项集,得出各项的支持度,再使用频繁1-项集集合来产生候选2-项集集合,因为先验原 理保证所有非频繁的 1-项集的超集都是非频繁的;
4、 再扫描数据库,得出候选 2-项集集合,再找出频繁 2-项集,并利用这些频繁 2-项 集集合来产生候选 3-项集;
5、 重复扫描数据库,与最小支持度比较,产生更高层次的频繁项集,再从该集合里产 生下一级候选项集,直到不再产生新的候选项集为止。
开发环境
软件环境
编程软件:Jdk开发包+eclipse集成开发环境
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它 只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带 了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
数据库软件:SQL Server 2008
SQL Server 2008在Microsoft的数据平台上发布,可以组织管理任何数据。可以 将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、 搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的 服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
办公软件:Excel 2010
Excel是一款试算表办公软件。它是微软办公套装软件office的重要的组成部分, 它是集统计分析、数据处理和辅助决策等功能于一身,现在金融、统计财经、管理等众 多领域广泛应用。本实验主要用来为固定数据量改变最小支持数以及固定最小支持数改 变数据量两种情况进行时间分析提供可视化图表。
装有Windows 7旗舰版电脑。
本章小结
本章的内容主要是为了引出本实验的主要算法以及对算法的实现环境做了介绍
算法的设计
Apriori 算法整体框架
图 Apriori 实验流程图
主要的数据结构与函数
数据结构
class Transaction
{
public int pid;
public String itemset;
}
该类表示表中的一条记录。
class Dao
{
public ArrayList<Transaction> Query(String sql)
}
该类用于访问数据库操作。
class Kfp
{
public char kfpstr[]=new char[];
public int index=-1;
public int support=0;
public boolean isfp=true;
}
该类代表一个频繁项目。
主要的程序
Java 中最常用的集合类是 List 和 Map 。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List 适用于按数值索引访问元素的情形。 HashMap:Map 接口的常用实现类,系统 vkey,value>当成一个整体进行处理,系统总是根据Hash算法来计算<key,value>的存储 位置,这样可以保证能快速存、取Map的vkey,value>对。
ArrayListvTransaction> alTransactions:保存表中的所有记录
ArrayListvKfp> alKfpsl:临时存储频繁项目的集合,存储连接后的结果
ArrayListvKfp〉SureFpset:保存频繁 k 项集
ArrayListvKfp> SureFpsetPrio:保存频繁 k-1 项集
ArrayListvString> notFpList:保存一定不是频繁项目的集合,用于剪枝