#!/usr/bin/python # -*- coding: utf-8 -*- from semcplogic.model import ModelBuilder from semcplogic.cpmodel import NonLinearCPLogicGenerator,LinearCPLogicGenerator from semcplogic.cpcompiler import CPCompiler from semcplogic.problogresult import GnuplotDrawer from semcplogic.dataset import Dataset from semcplogic.cpmodel import TableResultInterpreter from experiments.latexreport import LatexTableResultInterpreter b = ModelBuilder() b.addNode("a") b.addNode("b") b.addNode("c") b.setInfluence("a","c",1) b.setInfluence("b","c",1) m = b.consume() d = Dataset(["a","b","c"]) d.addData(["laag","laag","hoog"]) d.addData(["laag","hoog","laag"]) d.addData(["hoog","laag","laag"]) d.addData(["hoog","hoog","hoog"]) def runCode(generator): cpcode = generator.generate(m) cc = CPCompiler() runmodel = cc.compileCode(cpcode,d) runmodel.iterations = 1000 result = runmodel.run()
#!/usr/bin/python # -*- coding: utf-8 -*- 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()
#!/usr/bin/python # -*- coding: utf-8 -*- from semcplogic.model import ModelBuilder from semcplogic.cpmodel import NonLinearCPLogicGenerator from semcplogic import dataset from semcplogic.cpcompiler import CPCompiler from semcplogic.problogresult import GnuplotDrawer from semcplogic.cpmodel import TableResultInterpreter from experiments.latexreport import LatexTableResultInterpreter b = ModelBuilder() for var in ["c","p","wp","i","klag","x","wg","plag","xlag","a"]: 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()
#!/usr/bin/python # -*- coding: utf-8 -*- from semcplogic.model import ModelBuilder from semcplogic.cpmodel import NonLinearCPLogicGenerator from semcplogic.cpcompiler import CPCompiler from semcplogic.problogresult import GnuplotDrawer b = ModelBuilder() b.addNode("f") b.addNode("v1",0,1) b.addNode("v2",0,1) b.setInfluence("f","v1",5) b.setInfluence("f","v2",5) b.setLatent("f") m = b.consume() d = m.sample(100) d2 = d.discretise({"v1":["hoog","laag"],"v2":["hoog","laag"]}) cm = NonLinearCPLogicGenerator() cpcode = cm.generate(m) cc = CPCompiler() runmodel = cc.compileCode(cpcode,d2) runmodel.iterations = 250 result = runmodel.run() import pprint; pprint.pprint(result.probs) g = GnuplotDrawer() g.draw(result)
from semcplogic.problogresult import GnuplotDrawer from semcplogic.cpmodel import TableResultInterpreter from experiments.latexreport import LatexTableResultInterpreter def toTwoLevel(var,data): newdata = [] for d in data: if d == "stronglyagree": newdata.append("agree") elif d == "stronglydisagree": newdata.append("disagree") else: newdata.append(d) return newdata b = ModelBuilder() for var in ["f","mbsa2","mbsa7","mbsa8","mbsa9"]: b.addNode(var) b.setLevels(var,["Disagree","Agree"]) #b.setLevels(var,["StronglyDisagree","Disagree","Agree","StronglyAgree"]) b.setInfluence("f","mbsa2",1) b.setInfluence("f","mbsa7",1) b.setInfluence("f","mbsa8",1) b.setInfluence("f","mbsa9",1) m = b.consume() data = dataset.fromCSV("experiments/cnesdata.csv") data = data.discretiseFunc(toTwoLevel) lincp = NonLinearCPLogicGenerator() cpcode = lincp.generate(m)