资源简介
用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源代码
相关资源
- java语言实现二叉树的各种操作
- Java语言程序设计(基础篇) 机械工业
- Java语言时间片轮转算法
- java web实验报告
- Java课程设计 坦克大战 (源代码和实
- 淘宝中根据图片搜图片基于Java语言实
- apriori算法求频繁项集和关联规则 mv
- 音频分割程序Java语言制作
- Java设计模式综合应用场景
- 助学贷款管理系统纯JAVA语言编写,数
- 石大远程在线考试-《Java语言程序设计
- Java语言实现的矩阵的基本运算矩阵的
- 基于java语言的浏览器设计与实现
- Java实现的Apriori算法附测试数据
- apriori算法java实现源代码
- 神经网络算法与实现 ——基于Java语言
- java学生管理系统 源代码和实验报告
- 用Java语言编写简易学生管理系统
- 石大远程在线考试——《Java语言程序
- Java语言程序设计梁勇第1-10章全部完整
- Java实验报告书样本5个实验 word格式
- java语言银行ATM系统界面实现
- 河工大 java实验课程资源 代码及实验
- java编写的计算器实验报告
- java语言与面向对象程序设计课后习题
- java课程设计实验报告
- 一个简单的java计算器实验报告
- Java语言程序设计叶乃文 程序代码
- 使用java语言实现的QQ聊天软件
- java语言解决八数码问题完整版
评论
共有 条评论