Ejemplo n.º 1
0
 def search(self, data, order):
     # no need to separate out interventional data
     ci = PCCI(CBFSeparator(data), constrain_order=order,
                 hill_climb_cond=self._hill_climb_cond)
     skel = ci.skeleton()
     g = ADG(vertices=skel.vertices())
     for a, b in skel.lines():
         if a in ci.potential_ancestors(b):
             g.add_arrow(a, b)
         else:
             g.add_arrow(b, a)
     return g
Ejemplo n.º 2
0
                best_score = score
                best_parents = parents
        except NameError:
            best_score = score
            best_parents = parents
    return best_parents


def sublist(candidates,n):
    if not candidates or n == 0:
        yield []
    else:
        first = [candidates[0]]
        for sl in sublist(candidates[1:],n-1):
            yield first + sl
        for sl in sublist(candidates[1:],n):
            yield sl

            
best_adg = ADG(ordering)
for i, v in enumerate(ordering):
    if verbose:
        print 'Finding best parents for %s' % v
    parents = best_parents(v,ordering[:i])
    for parent in parents:
        best_adg.add_arrow(parent,v)

print 'Best ADG'
print '*********'
print best_adg
Ejemplo n.º 3
0
                best_score = score
                best_parents = parents
        except NameError:
            best_score = score
            best_parents = parents
    return best_parents


def sublist(candidates, n):
    if not candidates or n == 0:
        yield []
    else:
        first = [candidates[0]]
        for sl in sublist(candidates[1:], n - 1):
            yield first + sl
        for sl in sublist(candidates[1:], n):
            yield sl


best_adg = ADG(ordering)
for i, v in enumerate(ordering):
    if verbose:
        print 'Finding best parents for %s' % v
    parents = best_parents(v, ordering[:i])
    for parent in parents:
        best_adg.add_arrow(parent, v)

print 'Best ADG'
print '*********'
print best_adg