コード例 #1
0
#!/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()
コード例 #2
0
ファイル: analysis.py プロジェクト: verhoevenv/semcplogic
#!/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()
コード例 #3
0
#!/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()
コード例 #4
0
ファイル: latent.py プロジェクト: verhoevenv/semcplogic
#!/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)
コード例 #5
0
ファイル: cneslearning.py プロジェクト: verhoevenv/semcplogic
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)