资源简介
用java语言实现的Apriori算法,另外附上实验报告进行了详细解释。

代码片段和文件信息
package AprioriTest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
/**
* 功能:Apriori算法的实现
*/
public class AprioriTest01 {
private int minSup;
private static List data;
private static List> dataSet;
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
AprioriTest01 apriori = new AprioriTest01();
File file = new File(“G:/mf_2015511153514740.txt“);
//设置最小支持度
apriori.setMinSup(150);
//构造数据集
data = apriori.buildData(file);
//构造频繁1项集
List> f1Set = apriori.findF1Item(data);
// apriori.printSet(f1Set 1);
List> result = f1Set;
int i = 2;
do{
result = apriori.arioriGen(result);
apriori.printSet(result i);
i++;
}while(result.size() != 0);
long endTime = System.currentTimeMillis();
System.out.println(“共用时: “ + (endTime - startTime) + “ms“);
}
public void setMinSup(int minSup){
this.minSup = minSup;
}
/**
* 构造原始数据集,
* 使用文件中的数据集
*/
List buildData(File fileName){
List data = new ArrayList();
try{
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line;
while( ( line = reader.readLine()) != null ){
data.add(line);
}
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
dataSet = new ArrayList>();
Set dSet;
for(String d : data){
dSet = new TreeSet();
String[] dArr = d.split(“ “);
for(String str : dArr){
dSet.add(str);
}
dataSet.add(dSet);
}
return data;
}
/**
* 找出候选1项集
* @param data
* @return result
*/
List> findF1Item(List data){
List> result = new ArrayList>();
Map dc = new HashMap();
for(String d : data){
String[] items = d.split(“ “);
for(String item : items){
if(dc.containsKey(item)) {
dc.put(item dc.get(item)+1);
}else{
dc.put(item 1);
}
}
}
Set itemKeys = dc.keySet();
Set tempKeys = new TreeSet();
for(String str : itemKeys){
tempKeys.add(str);
}
for(String item : tempKeys){
if(dc.get(item) >= minSup) {
Set f1Set = new TreeSet();
f1Set.add(item);
result.add(f1Set);
}
}
return result;
}
/**
* 利用arioriGen方法由k-1项集生成k项集
*@param preSet
*@return
*
*/
List> arioriGen(List> preSet) {
List> result = new ArrayList>();
int preSetSize = preSet.size();
for(int i = 0; i < preSetSize -
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 301 2015-11-20 22:48 DM\.classpath
文件 378 2015-11-20 22:47 DM\.project
文件 598 2015-11-20 22:48 DM\.settings\org.eclipse.jdt.core.prefs
文件 8694 2015-11-20 22:48 DM\bin\AprioriTest\AprioriTest01.class
文件 7326 2015-11-20 22:46 DM\src\AprioriTest\AprioriTest01.java
目录 0 2015-11-20 22:50 DM\bin\AprioriTest
目录 0 2015-11-20 22:50 DM\src\AprioriTest
目录 0 2015-11-20 22:50 DM\.settings
目录 0 2015-11-20 22:50 DM\bin
目录 0 2015-11-20 22:50 DM\src
目录 0 2015-12-08 20:30 DM
文件 160410 2015-11-23 18:22 DM\Apriori实验报告.docx
----------- --------- ---------- ----- ----
177707 12
- 上一篇:Java 五子棋游戏毕业论文
- 下一篇:网络画板java源代码
相关资源
- 三角网构TIN生成算法,Java语言实现
- Java记事本【源代码 实验报告】
- 八数码java和报告
- JAVA计算器实验报告与源码
- 使用java语言编译一个计算器
- 4位明文SHA_256加密破解。JAVA语言
- 中南民族大学计算机科学学院java实验
- 多功能拼图游戏软件 java课程设计 含
- JAVA飞机大战 ,附所有图片以及实验报
- java图书管理系统含数据库,实验报告
- 编译原理 C、Java语言词法分析器java实
- JAVA实训 俄罗斯方块(带源程序和实
- Java语言程序设计ppt课件
- 操作系统课程设计题目四单处理器系
- 《JAVA语言程序设计》期末考试试题及
- 操作系统课程设计题目四单处理器系
- java web 教务系统大作业实验报告含代
- 数据结构与算法分析Java语言描述-英文
- 广州大学编译原理实验报告1-3.zip
- 网上书店管理系统 java语言
- 数据结构—Java语言描述朱战立版课件
- java 实现国际化 中英文语言切换
- 数据结构与算法分析_java语言描述_M
- 安卓拼图游戏实验报告
- socket编程实验报告
- 西工大安卓大作业-日记本源码+实验报
- java web 课程设计实验报告.docx
- Java语言规范和JVM规范7、8、9
- Java语言面向对象程序设计第2版清华大
- 基于JAVA语言平台开发的机场车辆调度
评论
共有 条评论