• 大小: 1.6MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-10
  • 语言: Java
  • 标签: apriori  

资源简介

实验描述: 对指定数据集进行关联规则挖掘,选择适当的挖掘算法,编写程序实现,提交程序和结果报告。 数据集: retail.txt ,根据数据集中的数据利用合适的挖掘算法得到频繁项集,并计算置信度,求出满足置信度的所有的关联规则 retail.txt中每个数字表示一种商品的ID,一个{}内的表示一次交易 实验环境和编程语言: 本实验使用的编程语言为:Java 编程环境为:Intellij idea 实现频繁项集的挖掘算法为Apriori算法 用于挖掘的样本个数为:1000个(retail.txt的前1000条数据) 样本示例: { 38,39,47,48} 表示一个顾客购买了ID为38、39、47、48的四种商品。

资源截图

代码片段和文件信息

/**
 * Created by 李勇志 on 2016/12/6.
 * 2014301500370
 *
 * 本工程包含两个数据文件
 * fulldata为老师给的原始数据文件,由于数据量过大程序跑不出来结果,没有选用进行测试
 * top1000data是从fulldata中摘取的前1000条数据,本程序运行的结果是基于这前1000条数据进行的频繁项集挖掘和关联度分析
 *
 */

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;

/**
 * Apriori算法实现 最大模式挖掘,涉及到支持度,但没有置信度计算
 *
 * AssociationRulesMining()函数实现置信度计算和关联规则挖掘
 */
public class AprioriMyself {

    public static  int times=0;//迭代次数
    private static  double MIN_SUPPROT = 0.02;//最小支持度百分比
    private static   double MIN_CONFIDENCE=0.6;//最小置信度
    private static boolean endTag = false;//循环状态,迭代标识
    static List> record = new ArrayList>();//数据集
    static  List> frequentItemset=new ArrayList<>();//存储所有的频繁项集
    static List map = new ArrayList();//存放频繁项集和对应的支持度技术

    public static void main(String args[]){

        System.out.println(“请输入最小支持度(如0.05)和最小置信度(如0.6)“);
        Scanner in=new Scanner(System.in);
        MIN_SUPPROT=in.nextDouble();
        MIN_CONFIDENCE=in.nextDouble();


        /*************读取数据集**************/
        record = getRecord(“top1000data“);
        //控制台输出记录
        System.out.println(“读取数据集record成功===================================“);
        ShowData(record);


        Apriori();//调用Apriori算法获得频繁项集
        System.out.println(“频繁模式挖掘完毕。\n\n\n\n\n进行关联度挖掘,最小支持度百分比为:“+MIN_SUPPROT+“  最小置信度为:“+MIN_CONFIDENCE);



         AssociationRulesMining();//挖掘关联规则
    }

    /**********************************************
     * ****************读取数据********************/
    public static List> getRecord(String url) {
        List> record = new ArrayList>();
        try {
            String encoding = “UTF-8“; // 字符编码(可解决中文乱码问题 )
            File file = new File(url);
            if (file.isFile() && file.exists()) {
                InputStreamReader read = new InputStreamReader(
                        new FileInputStream(file) encoding);
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTXT = null;
                while ((lineTXT = bufferedReader.readLine()) != null) {//读一行文件
                    String[] lineString = lineTXT.split(““);
                    List lineList = new ArrayList();
                    for (int i = 0; i < lineString.length; i++) {
                        lineList.add(lineString[i]);
                    }
                    record.add(lineList);
                }

                read.close();
            } else {
                System.out.println(“找不到指定的文件!“);
            }
        } catch (Exception e) {
            System.out.println(“读取文件内容操作出错“);
            e.printStackTrace();
        }
        return record;
    }




    public static void Apriori()           /**实现apriori算法**/
    {
        //***

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-10 12:11  Apriori\
     目录           0  2016-12-10 12:11  Apriori\.idea\
     文件         686  2016-12-06 15:17  Apriori\.idea\compiler.xml
     目录           0  2016-12-10 12:11  Apriori\.idea\copyright\
     文件          76  2016-12-06 15:17  Apriori\.idea\copyright\profiles_settings.xml
     文件        3410  2016-12-06 15:30  Apriori\.idea\misc.xml
     文件         254  2016-12-06 15:17  Apriori\.idea\modules.xml
     文件       42581  2016-12-07 13:22  Apriori\.idea\workspace.xml
     文件         423  2016-12-06 15:17  Apriori\Apriori.iml
     文件     4167490  2016-12-06 16:08  Apriori\fulldata
     目录           0  2016-12-07 01:13  Apriori\out\
     目录           0  2016-12-07 01:13  Apriori\out\production\
     目录           0  2016-12-10 12:11  Apriori\out\production\Apriori\
     文件       10692  2016-12-07 11:23  Apriori\out\production\Apriori\AprioriMyself.class
     文件        1099  2016-12-07 11:23  Apriori\out\production\Apriori\Mymap.class
     文件         246  2016-12-06 15:40  Apriori\out\production\Apriori\SetNode.class
     文件        2220  2016-12-06 15:44  Apriori\out\production\Apriori\Test.class
     目录           0  2016-12-10 12:11  Apriori\src\
     文件       16289  2016-12-07 12:03  Apriori\src\AprioriMyself.java
     文件       37166  2016-12-06 15:42  Apriori\top1000data

评论

共有 条评论