我使用weka依赖关系通过Apriori Algorithm获取关联规则。下面是我的密码。当我得到值时,fast vector会显示内存位置值。如果有人能给我发个回复来得到association rules,我会非常感激。
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
发布于 2015-04-10 14:39:15
代码没有任何问题。
Log.debug(“规则”+fastVector.toArray())
它正在打印JVM上存在的地址,在本例中,有三个对象是来自java.lang.Object的类型。它是从存在于toString()上的java.lang.Object方法调用的。
在您的示例中,必须适当地将此引用转换为对象Rules (即m_allTheRules)。在每种情况下,获取或调用适当的方法或属性。
因此,请参见下面的示例:
AprioriItemSet premise = (AprioriItemSet) m_allTheRules[0].elementAt(i);
AprioriItemSet consequence = (AprioriItemSet) m_allTheRules[1].elementAt(i); 这只是一个例子,m_allTheRules是您提供程序在foreach中创建的匿名变量。
请参阅从这里提取的完整示例
https://stackoverflow.com/questions/29563379
复制相似问题