package ca.pfv.spmf.test;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import ca.pfv.spmf.algorithms.sequential_rules.rulegrowth.AlgoRULEGROWTH;
/**
* Example of how to use the RuleGrowth Algorithm in source code.
* @author Philippe Fournier-Viger (Copyright 2010)
*/
public class MainTestRuleGrowth {
public static void main(String [] arg) throws IOException{
String input = fileToPath("contextPrefixSpan.txt"); // the database
String output = ".//output.txt"; // the path for saving the frequent itemsets found
// Applying RuleGROWTH algorithm with minsup = 3 sequences and minconf = 0.5
int minsup_relative = 3;
double minconf = 0.5;
AlgoRULEGROWTH algo = new AlgoRULEGROWTH();
// // This optional parameter allows to specify the maximum number of items in the
// // left side (antecedent) of rules found:
// algo.setMaxAntecedentSize(1); // optional
//
// // This optional parameter allows to specify the maximum number of items in the
// // right side (consequent) of rules found:
// algo.setMaxConsequentSize(2); // optional
algo.runAlgorithm(input, output, minsup_relative, minconf);
// If you want to use an absolute support (percentage value), use
// the following lines instead:
// double minsup_absolute = 0.75; // it means 75 %
// AlgoRULEGROWTH algo = new AlgoRULEGROWTH();
// algo.runAlgorithm(minsup_absolute, minconf, input, output);
// print statistics
algo.printStats();
}
public static String fileToPath(String filename) throws UnsupportedEncodingException{
URL url = MainTestRuleGrowth.class.getResource(filename);
return java.net.URLDecoder.decode(url.getPath(),"UTF-8");
}
}