All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.cmu.tetrad.algcomparison.examples.RunKemmeren Maven / Gradle / Ivy

The newest version!
package edu.cmu.tetrad.algcomparison.examples;

import edu.cmu.tetrad.algcomparison.algorithm.oracle.cpdag.Fas;
import edu.cmu.tetrad.algcomparison.independence.SemBicTest;
import edu.cmu.tetrad.data.BoxDataSet;
import edu.cmu.tetrad.data.ContinuousVariable;
import edu.cmu.tetrad.data.DoubleDataBox;
import edu.cmu.tetrad.data.Knowledge;
import edu.cmu.tetrad.graph.Graph;
import edu.cmu.tetrad.graph.Node;
import edu.cmu.tetrad.util.Parameters;
import edu.pitt.dbmi.data.reader.DataColumn;
import edu.pitt.dbmi.data.reader.Delimiter;
import edu.pitt.dbmi.data.reader.tabular.ContinuousTabularData;
import edu.pitt.dbmi.data.reader.tabular.ContinuousTabularDatasetFileReader;

import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

/**
 * 

RunKemmeren class.

* * @author josephramsey * @version $Id: $Id */ public class RunKemmeren { /** *

Constructor for RunKemmeren.

*/ public RunKemmeren() { } /** *

main.

* * @param args a {@link java.lang.String} object */ public static void main(String... args) { // Path path = Paths.get("/home/bandrews/Desktop/Kemmeren/data_kemmeren_centered.txt"); Path path = Paths.get("/home/bandrews/Desktop/Kemmeren/obs_data.txt"); System.out.println("Loading Data"); ContinuousTabularDatasetFileReader reader = new ContinuousTabularDatasetFileReader(path, Delimiter.TAB); try { ContinuousTabularData data = ((ContinuousTabularData) reader.readInData()); List variables = new ArrayList<>(); for (DataColumn column : data.getDataColumns()) { Node node = new ContinuousVariable(column.getName()); variables.add(node); } BoxDataSet dataSet = new BoxDataSet(new DoubleDataBox(data.getData()), variables); System.out.println("Generating Background Knowledge"); Knowledge knowledge = new Knowledge(dataSet.getVariableNames()); System.out.println("Running Search"); Parameters parameters = new Parameters(); parameters.set("penaltyDiscount", 2); parameters.set("structurePrior", 1); parameters.set("faithfulnessAssumed", true); parameters.set("symmetricFirstStep", false); parameters.set("maxDegree", -1); parameters.set("depth", 1); parameters.set("sepsetsReturnEmptyIfNotFixed", true); parameters.set("verbose", true); SemBicTest test = new SemBicTest(); // Fges search = new Fges(score); Fas search = new Fas(test); // Gfci search = new Gfci(test, score); search.setKnowledge(knowledge); Graph graph = search.search(dataSet, parameters); System.out.println("Writing Output"); PrintWriter out = new PrintWriter("/home/bandrews/Desktop/out.txt"); out.println(graph.toString()); out.close(); } catch (IOException e) { e.printStackTrace(); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy