from semcplogic.model import ModelBuilder from semcplogic.cpmodel import NonLinearCPLogicGenerator,TableResultInterpreter from semcplogic.cpcompiler import CPCompiler from semcplogic.problogresult import GnuplotDrawer import pprint b = ModelBuilder() b.addNode("a") b.addNode("b",0,0) b.addNode("c",0,0) b.setInfluence("a","b",5) b.setInfluence("a","c",5) m = b.consume() m.nodes["c"].setLevels(["laag","middel","hoog"]) d = m.sample(100) d2 = d.discretise({"a":["laag","hoog"],"b":["laag","hoog"],"c":["laag","middel","hoog"]}) cm = NonLinearCPLogicGenerator() cpcode = cm.generate(m) cc = CPCompiler() runmodel = cc.compileCode(cpcode,d2) runmodel.iterations = 100 result = runmodel.run() g = GnuplotDrawer() g.draw(result) t = TableResultInterpreter() r = t.interprete(m,result.latest()) pprint.pprint(r)
b.addNode(var) b.setInfluence("xlag","wp",1) b.setInfluence("x","wp",1) b.setInfluence("a","wp",1) b.setInfluence("klag","i",1) b.setInfluence("plag","i",1) b.setInfluence("p","i",1) b.setInfluence("plag","c",1) b.setInfluence("p","c",1) b.setInfluence("wg","c",1) b.setInfluence("wp","c",1) m = b.consume() data = dataset.fromCSV("experiments/kleindata.csv") data = data.makeDiff() data = data.discretise() lincp = NonLinearCPLogicGenerator() cpcode = lincp.generate(m) cc = CPCompiler() runmodel = cc.compileCode(cpcode,data) runmodel.iterations = 10000 result = runmodel.run() g = GnuplotDrawer() g.draw(result) t = TableResultInterpreter() r = t.interprete(m,result.latest()) ltri = LatexTableResultInterpreter(r) print ltri.out()