Exemplo n.º 1
0
from jyimportlib import importjar, importbin, importdir
importbin()
importjar("srldb.jar")
importjar("tumutils.jar")
importjar("weka_fipm.jar")
#importdir("../WEKA/bin")

from java.util import Vector, HashMap
from java.lang import String, Double
import jarray
from weka.classifiers.trees import J48, DecisionStump, RandomForest
from weka.classifiers.rules import OneR
from weka.classifiers.functions import SMO
from weka.classifiers.trees.j48 import Rule
from weka.classifiers.meta import MultiBoostAB, AdaBoostM1, RandomCommittee, Bagging
from weka.core import Attribute, FastVector, Instance, Instances


class WekaClassifier(object):
    def __init__(self, numericAttributes=None):
        self.attName2Domain = {}
        self.numericAttributes = []
        if numericAttributes is not None:
            self.numericAttributes = list(numericAttributes)
        self.instances = []

    def setDomain(self, attName, domain):
        domain = set(
            domain
        )  #remove duplicates, make sure it is set if things are added later on
        self.attName2Domain[attName] = domain
Exemplo n.º 2
0
from jyimportlib import importjar, importbin, importdir
importjar("jahmm.jar")
from be.ac.ulg.montefiore.run.jahmm import OpdfGaussian, ObservationReal
from java.util import Vector
from java.lang import Double


class DiscreteDist(object):
	def __init__(self, varName, values):
		self.values = values
		self.varName = varName
		self.dist = [1.0 for i in xrange(len(values))]
	
	def normalize(self):
		Z = sum(self.dist)
		self.dist = map(lambda x: x / Z, self.dist)
		
	def addExample(self, d):
		
		idx = self.values.index(d[self.varName])
		self.dist[idx] += 1.0
		
	def finish(self):
		self.normalize()
		
	def density(self, v):
		return self.dist[self.values.index(v)]
		
class ContDist(object):
	def __init__(self, varName):
Exemplo n.º 3
0
import sys
import os
from jyimportlib import importjar, importbin
importbin()
importjar("srldb.jar")
importjar("tumutils.jar")
importjar("bnj.jar")
importjar("bnj_res.jar")
importjar("log4j-1.2.9.jar")
importjar("ssj.jar")
importjar("optimization.jar")
importjar("yprolog.jar")

from probcog.srl.directed.inference import BLNinfer

def infer(network, decls, logic, algorithm, evidence, queries, cwPreds = None, maxSteps = None, args=None):
	'''
		network: the model's fragment network (filename)
		decls: the model's declarations (filename)
		logic: the model's logical constraints (filename)
		algorithm: an algorithm name (use printInferenceAlgorithmList())
		evidence: an evidence database (filename)
		queries: a comma-separated list of queries (predicate names or fully or partially grounded atoms)
		cwPreds: a comma-separated list of closed-world predicates
		maxSteps: maximum number of steps to take		
		args: list of additional arguments to pass (see BLNinfer help)
		returns the BLNinfer object, which can be used to immediately obtain the results via .getResults() and other information
	'''
	a = ['-ia', algorithm, '-x', network, '-b', decls, '-l', logic, '-e', evidence, '-q', queries]
	if cwPreds is not None:
		a.extend(["-cw", cwPreds])
Exemplo n.º 4
0
from jyimportlib import importjar, importbin, importdir
importjar("jahmm.jar")
from be.ac.ulg.montefiore.run.jahmm import OpdfGaussian, ObservationReal
from java.util import Vector
from java.lang import Double


class DiscreteDist(object):
    def __init__(self, varName, values):
        self.values = values
        self.varName = varName
        self.dist = [1.0 for i in xrange(len(values))]

    def normalize(self):
        Z = sum(self.dist)
        self.dist = map(lambda x: x / Z, self.dist)

    def addExample(self, d):

        idx = self.values.index(d[self.varName])
        self.dist[idx] += 1.0

    def finish(self):
        self.normalize()

    def density(self, v):
        return self.dist[self.values.index(v)]


class ContDist(object):
    def __init__(self, varName):
Exemplo n.º 5
0
from jyimportlib import importjar, importbin, importdir
importbin()
importjar("srldb.jar")
importjar("tumutils.jar")
importjar("weka_fipm.jar")
#importdir("../WEKA/bin")

from java.util import Vector, HashMap
from java.lang import String, Double
import jarray
from weka.classifiers.trees import J48, DecisionStump, RandomForest
from weka.classifiers.rules import OneR
from weka.classifiers.functions import SMO;
from weka.classifiers.trees.j48 import Rule;
from weka.classifiers.meta import MultiBoostAB, AdaBoostM1, RandomCommittee, Bagging
from weka.core import Attribute, FastVector, Instance, Instances

class WekaClassifier(object):
	def __init__(self, numericAttributes = None):		
		self.attName2Domain = {}
		self.numericAttributes = []
		if numericAttributes is not None:
			self.numericAttributes = list(numericAttributes)
		self.instances = []
		
	
	def setDomain(self, attName, domain):
		domain = set(domain) #remove duplicates, make sure it is set if things are added later on
		self.attName2Domain[attName] = domain
	
	def setNumericAttribute(self, attName):
Exemplo n.º 6
0
import sys
import os
from jyimportlib import importjar, importbin
importbin()
importjar("srldb.jar")
importjar("tumutils.jar")
importjar("bnj.jar")
importjar("bnj_res.jar")
importjar("log4j-1.2.9.jar")
importjar("ssj.jar")
importjar("optimization.jar")
importjar("yprolog.jar")

from probcog.srl.directed.inference import BLNinfer


def infer(network,
          decls,
          logic,
          algorithm,
          evidence,
          queries,
          cwPreds=None,
          maxSteps=None,
          args=None):
    '''
		network: the model's fragment network (filename)
		decls: the model's declarations (filename)
		logic: the model's logical constraints (filename)
		algorithm: an algorithm name (use printInferenceAlgorithmList())
		evidence: an evidence database (filename)