use of edu.cmu.tetrad.graph.Node in project tetrad by cmu-phil.
the class SpecialGraphClark method createGraph.
@Override
public Graph createGraph(Parameters parameters) {
Node x = new ContinuousVariable("X");
Node y = new ContinuousVariable("Y");
Node z = new ContinuousVariable("Z");
Graph g = new EdgeListGraph();
g.addNode(x);
g.addNode(y);
g.addNode(z);
// g.addDirectedEdge(x, y);
// g.addDirectedEdge(z, x);
// g.addDirectedEdge(z, y);
g.addDirectedEdge(x, y);
g.addDirectedEdge(x, z);
g.addDirectedEdge(y, z);
//
return g;
}
use of edu.cmu.tetrad.graph.Node in project tetrad by cmu-phil.
the class TestAutisticClassification method testForBiwei.
// @Test
public void testForBiwei() {
Parameters parameters = new Parameters();
parameters.set("penaltyDiscount", 2);
parameters.set("depth", -1);
parameters.set("numRuns", 10);
parameters.set("randomSelectionSize", 1);
parameters.set("Structure", "Placeholder");
FaskGraphs files = new FaskGraphs("/Users/jdramsey/Downloads/USM_ABIDE", new Parameters());
List<DataSet> datasets = files.getDatasets();
List<String> filenames = files.getFilenames();
for (int i = 0; i < datasets.size(); i++) {
DataSet dataSet = datasets.get(i);
SemBicScore score = new SemBicScore(new CovarianceMatrixOnTheFly(dataSet));
Fas fas = new Fas(new IndTestScore(score));
Graph graph = fas.search();
System.out.println(graph);
List<Node> nodes = graph.getNodes();
StringBuilder b = new StringBuilder();
for (int j = 0; j < nodes.size(); j++) {
for (int k = 0; k < nodes.size(); k++) {
if (graph.isAdjacentTo(nodes.get(j), nodes.get(k))) {
b.append("1 ");
} else {
b.append("0 ");
}
}
b.append("\n");
}
try {
File dir = new File("/Users/jdramsey/Downloads/biwei/USM_ABIDE");
dir.mkdirs();
File file = new File(dir, filenames.get(i) + ".graph.txt");
PrintStream out = new PrintStream(file);
out.println(b);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
use of edu.cmu.tetrad.graph.Node in project tetrad by cmu-phil.
the class TestBayesXml method sampleBayesIm3.
private static BayesIm sampleBayesIm3() {
Node a = new GraphNode("a");
a.setNodeType(NodeType.LATENT);
a.setCenterX(5);
a.setCenterY(5);
Node b = new GraphNode("b");
Node c = new GraphNode("c");
Dag graph;
graph = new Dag();
graph.addNode(a);
graph.addNode(b);
graph.addNode(c);
graph.addDirectedEdge(a, b);
graph.addDirectedEdge(a, c);
graph.addDirectedEdge(b, c);
BayesPm bayesPm = new BayesPm(graph);
bayesPm.setNumCategories(b, 3);
return new MlBayesIm(bayesPm, MlBayesIm.RANDOM);
}
use of edu.cmu.tetrad.graph.Node in project tetrad by cmu-phil.
the class TestBayesXml method sampleBayesIm1.
private static BayesIm sampleBayesIm1() {
Node a = new GraphNode("a");
Node b = new GraphNode("b");
Node c = new GraphNode("c");
Dag graph;
graph = new Dag();
graph.addNode(a);
graph.addNode(b);
graph.addNode(c);
graph.addDirectedEdge(a, b);
graph.addDirectedEdge(a, c);
graph.addDirectedEdge(b, c);
BayesPm bayesPm = new BayesPm(graph);
bayesPm.setNumCategories(b, 3);
BayesIm bayesIm1 = new MlBayesIm(bayesPm);
bayesIm1.setProbability(0, 0, 0, .3);
bayesIm1.setProbability(0, 0, 1, .7);
bayesIm1.setProbability(1, 0, 0, .3);
bayesIm1.setProbability(1, 0, 1, .4);
bayesIm1.setProbability(1, 0, 2, .3);
bayesIm1.setProbability(1, 1, 0, .6);
bayesIm1.setProbability(1, 1, 1, .1);
bayesIm1.setProbability(1, 1, 2, .3);
bayesIm1.setProbability(2, 0, 0, .9);
bayesIm1.setProbability(2, 0, 1, .1);
bayesIm1.setProbability(2, 1, 0, .1);
bayesIm1.setProbability(2, 1, 1, .9);
bayesIm1.setProbability(2, 2, 0, .5);
bayesIm1.setProbability(2, 2, 1, .5);
bayesIm1.setProbability(2, 3, 0, .2);
bayesIm1.setProbability(2, 3, 1, .8);
bayesIm1.setProbability(2, 4, 0, .6);
bayesIm1.setProbability(2, 4, 1, .4);
bayesIm1.setProbability(2, 5, 0, .7);
bayesIm1.setProbability(2, 5, 1, .3);
return bayesIm1;
}
use of edu.cmu.tetrad.graph.Node in project tetrad by cmu-phil.
the class TestCellProbabilities method testCreateRandom.
@Test
public void testCreateRandom() {
RandomUtil.getInstance().setSeed(4828385834L);
DiscreteVariable x = new DiscreteVariable("X", 3);
DiscreteVariable y = new DiscreteVariable("Y", 3);
DiscreteVariable z = new DiscreteVariable("Z", 3);
DiscreteVariable w = new DiscreteVariable("W", 2);
List<Node> variables = new LinkedList<>();
variables.add(x);
variables.add(y);
variables.add(z);
variables.add(w);
StoredCellProbs cellProbabilities = StoredCellProbs.createRandomCellTable(variables);
double prob = cellProbabilities.getCellProb(new int[] { 0, 0, 0, 0 });
assertEquals(0.002, prob, 0.0001);
}
Aggregations