序列模式挖掘算法BIDE

该博客详细介绍了BIDE算法的实现过程,包括文件读取、数据处理、序列挖掘核心步骤,如前缀扩展、后向扩展事件计数等,并提供了完整的Java代码示例。博主通过BIDE算法对中文文本数据进行序列模式挖掘,展示了如何找出频繁序列。
摘要由CSDN通过智能技术生成
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class BIDE {
	public List<List<String>> db=new ArrayList<List<String>>();
	public List<Double> sup=new ArrayList<Double>();
	public int mm;
	public void init(){
		try {
			FileInputStream in=new FileInputStream("E:/in中文.txt");
			InputStreamReader fr=new InputStreamReader(in,"utf-8");
			BufferedReader br=new BufferedReader(fr);
			String line=null;
			List<String> tmp=null;
			int count=0;
			String pline=null;
			while((line=br.readLine())!=null){
				line=line.trim();
				System.out.println(line);
			
				if(line.contains("星期")){
					count++;
					if(count==9)
						break;
					 tmp=new ArrayList<String>();
					 db.add(tmp);
					 pline=null;
					 continue;
				}
				if(line.matches("[\u4e00-\u9fa5]*")){
					continue;
				}
				else {
					if(line!=pline)
					tmp.add(line);
					pline=line;
				System.out.println(line);	
				}
			}
		mm=(int)(count*0.8);
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
public static void main(String[] args){
	BIDE d=new BIDE();
	d.init();
	d.test();
Date st=new Date();
	List<List<String>> ans=d.Bide(d.db,d.mm);
	Date end=new Date();
	String pname=null;
	for(int k=0;k<ans.size();k++){
		List<String> s=ans.get(k);
		pname=null;
		for(int i=0;i<s.size();i++){
			String name=s.get(i);
			System.out.print(name+" ");
			pname=name;
			}
		System.out.print(d.sup.get(k));
		System.out.println("");
	}
	System.out.println("时间:"+(end.getTime()-st.getTime()));
}
public List<List<String>> Bide(List<List<String>> sdb,int min_sup){
	
	List<List<String>> fcs =new ArrayList<List<String>>();
	Map<String,Integer> map=ge
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值