Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: XML probabilistic trees (what's that)

by Aristotle (Chancellor)
on Mar 23, 2003 at 12:04 UTC ( [id://245266]=note: print w/replies, xml ) Need Help??


in reply to XML probabilistic trees

I wouldn't bet a lot on someone here knowing what you mean by "training probabilistic trees". Can you be more verbose about what kind probabilistic tree that is and what you're trying to train?

At any rate, for any of your XML processing needs, XML::Twig is always worth a look.

Makeshifts last the longest.

  • Comment on Re: XML probabilistic trees (what's that)

Replies are listed 'Best First'.
Re: Re: XML probabilistic trees
by Anonymous Monk on Mar 23, 2003 at 14:29 UTC
    Maybe 'probabilistic network' is the correct term. However, I am dealing with a set of fixed nodes where each node has only one parent node (except the root node).

      So, you've got something like:

      %nodes=( root => { parents => [], probs => [0.01]}, # P(root) some => { parents => ['n1'], probs => [0.74,0.21]}, # P(some|!root), P(some|root +) other =>{ parents => ['root','n1'], probs => [0.12,0.24, # P(other|!root,!some), P(ot +her|!root,some) 0.81,0.18]}, # P(other|root,!some), P(oth +er|root,some) );

      I choose an array to represent the join probabilities because I thought it would be the easiest way. You get the entry you need with something like:

      # the state you start from %state=(root=>1,some=>0); # let's get P(other|root,!some) $i=0; for @{$nodes{other}{parents}} { $i=($i<<2)+$state{$_} # this is a simple encoding. Just use the same +for updating and accessing } $prob=$nodes{other}{probs}[$i];

      When you have trained your network, you can dump it using XML::Simple:

      use XML::Simple; print XMLout(\%nodes);

      I think this code should work as well with full-fledged belief networks, since I'm using names to refer to nodes, instead of nesting their representation in the XML tree.

      -- 
              dakkar - Mobilis in mobile
      
        Out of interest. Can anyone tell me why, when I print out with the command:
        print XMLout(\%nodes);
        That the hashed array is not printed out, as the XML form, in the order that it is presented within the program. Also. Can anyone please inform me whether it is easy (with an XML Perl module) to retrieve data, that is nested within tags, with reference to the ordered position in which identical and tandem tags are presented.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://245266]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (9)
As of 2024-04-16 09:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found