package ca.pfv.spmf.test;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.util.List;
import java.util.TreeSet;
import ca.pfv.spmf.algorithms.sequentialpatterns.spam.AlgoVMSP;
import ca.pfv.spmf.algorithms.sequentialpatterns.spam.PatternVMSP;
/**
* Example of how to use the VMSP algorithm in source code.
* @author Philippe Fournier-Viger
*/
public class MainTestVMSP_saveToMemory {
public static void main(String [] arg) throws IOException{
// Load a sequence database
String input = fileToPath("contextPrefixSpan.txt");
String output = ".//output.txt";
// Create an instance of the algorithm
AlgoVMSP algo = new AlgoVMSP();
// algo.setMaximumPatternLength(3);
// execute the algorithm with minsup = 2 sequences (50 %)
List<TreeSet<PatternVMSP>> maxPatterns = algo.runAlgorithm(input, output, 0.5);
algo.printStatistics();
// PRINT THE PATTTERNS FOUND
for(TreeSet<PatternVMSP> tree : maxPatterns) {
if(tree == null) {
continue;
}
// for each pattern
for(PatternVMSP pattern : tree) {
System.out.println(" " + pattern.getPrefix() + " support : " + pattern.getSupport());
}
}
}
public static String fileToPath(String filename) throws UnsupportedEncodingException{
URL url = MainTestVMSP_saveToMemory.class.getResource(filename);
return java.net.URLDecoder.decode(url.getPath(),"UTF-8");
}
}