首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Weka Apriori算法快速矢量输出内存位置值

Weka Apriori算法快速矢量输出内存位置值
EN

Stack Overflow用户
提问于 2015-04-10 13:57:54
回答 1查看 888关注 0票数 1

我使用weka依赖关系通过Apriori Algorithm获取关联规则。下面是我的密码。当我得到值时,fast vector会显示内存位置值。如果有人能给我发个回复来得到association rules,我会非常感激。

代码语言:javascript
运行
复制
package com.smart.product.analyser;

import org.apache.log4j.Logger;
import weka.associations.Apriori;
import weka.core.FastVector;
import weka.core.Instances;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;


public class App {
    static Logger log = Logger.getLogger(App.class.getName());

    public static BufferedReader readDataFile(String filename) {
        BufferedReader inputReader = null;

        try {
            inputReader = new BufferedReader(new FileReader(filename));
        } catch (FileNotFoundException ex) {
        }
        return inputReader;
    }

    public static void main(String[] args) throws Exception {
        //Define ArrayList to Add Clustered Information
        Apriori apriori = new Apriori();
        apriori.setNumRules(10);
        BufferedReader datafile = readDataFile("/media/dulithdecozta/IR1_CPRA_X6/FYP-Documents/Transactions.arff");
        Instances data = new Instances(datafile);
        apriori.buildAssociations(data);
        log.debug("-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-");
        log.debug("Number of Associations : " + apriori.getNumRules());
        log.debug("Adding Association Information to ArrayList ..");
        int num = apriori.getAllTheRules().length;
        System.out.println("Num :" + num);
        for (FastVector fastVector : apriori.getAllTheRules())
            log.debug("rules " + fastVector.toArray());
    }
}

程序的输出:

[Ljava.lang.Object;@7254d7ac [Ljava.lang.Object;@201b97d8 [Ljava.lang.Object;@738df65f

EN

回答 1

Stack Overflow用户

发布于 2015-04-10 14:39:15

代码没有任何问题。

Log.debug(“规则”+fastVector.toArray())

它正在打印JVM上存在的地址,在本例中,有三个对象是来自java.lang.Object的类型。它是从存在于toString()上的java.lang.Object方法调用的。

在您的示例中,必须适当地将此引用转换为对象Rules (即m_allTheRules)。在每种情况下,获取或调用适当的方法或属性。

因此,请参见下面的示例:

代码语言:javascript
运行
复制
AprioriItemSet premise = (AprioriItemSet) m_allTheRules[0].elementAt(i);
AprioriItemSet consequence = (AprioriItemSet) m_allTheRules[1].elementAt(i); 

这只是一个例子,m_allTheRules是您提供程序在foreach中创建的匿名变量。

请参阅从这里提取的完整示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29563379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档