Hi
I am learning the GeNIe to establish the bayesian network. Now I want to classify more than one variables in one network, but in GeNIe, only one class variable can be selected during the structure learning.
For example, "Learn New Network"-----"Tree Augumented Naive Bayes"-------"Class Variable", Then only one variable can be selected in the drop-down list.
How to classify more than one variables when learning structure?
How to classify more than one variables when learning structure
How to classify more than one variables when learning structure
Last edited by wxk8000 on Sat Jan 20, 2018 10:15 pm, edited 1 time in total.
Re: How to classify multiple variables when learning structure
For example, there are 7 variables: A, B, C, D, E, F, G.
A, B, C, D, E are related to F
A, C, E are related to G
How to classify F and G in one bayesian network.
A, B, C, D, E are related to F
A, C, E are related to G
How to classify F and G in one bayesian network.
-
- Site Admin
- Posts: 430
- Joined: Tue Dec 11, 2007 4:24 pm
Re: How to classify more than one variables when learning structure
This is quite easy. Just keep in mind that Naive Bayes, TAN and ABN are very special structures that have just one class node and all feature nodes are children of the class node. If you want a structure that involves multiple class nodes, please use one of the general purpose learning algorithms (such as Bayesian search, PC, ESG or GTT). If you insist on a structure similar to a TAN/ABN, please enforce it through background knowledge -- put links that you want to be there and run the algorithm to add additional links.
I hope this helps!
Marek
I hope this helps!
Marek
Re: How to classify more than one variables when learning structure
Thank you for your advice, you mean I can establish an imcomplete structure, then run the TAN algorithm to add additional links. like the figure below But in GeNIe, I do not know whether it will do. Up to now, I just know GeNIe can learn a new network, but can not add additional links based on an imcomplete structure. How to realise that like the above figure.marek wrote: If you insist on a structure similar to a TAN/ABN, please enforce it through background knowledge -- put links that you want to be there and run the algorithm to add additional links.
Last edited by wxk8000 on Mon Jan 22, 2018 8:10 pm, edited 1 time in total.
Re: How to classify more than one variables when learning structure
I have an idea, I do not know whether it is right
For example ,
there are 7 variables: A, B, C, D, E, F, G.
A, B, C, D, E are related to F
A, C, E are related to G
I respectively establish two networks.
In first network, I select A, B, C, D, E and take F as the class variable, then learn the net structure.
In second network, I select A, C, E and take G as the class variable, then learn the net structure.
After that, I add the links of the second network and class node G to the first structure (Should the CPT of the second network be also copied to the first structure? or we should do the parameter learning again?).
I do not know whether it is right.
For example ,
there are 7 variables: A, B, C, D, E, F, G.
A, B, C, D, E are related to F
A, C, E are related to G
I respectively establish two networks.
In first network, I select A, B, C, D, E and take F as the class variable, then learn the net structure.
In second network, I select A, C, E and take G as the class variable, then learn the net structure.
After that, I add the links of the second network and class node G to the first structure (Should the CPT of the second network be also copied to the first structure? or we should do the parameter learning again?).
I do not know whether it is right.
-
- Site Admin
- Posts: 1417
- Joined: Mon Nov 26, 2007 5:51 pm
Re: How to classify more than one variables when learning structure
If you know that there are no relationships between A,B,..,E, you can simply create the network structure, then use parameter learning to obtain the CPTs. There will be no new arcs after learning is complete.
If you want additional arcs (like A->C) to be present (if there's data supporting this), you should use Bayesian Search learning algorithm and create the network structure in the background knowledge editor. You'll get the network with the arcs you've drawn manually as background knowledge and also possible some other arcs. The CPTs will be learned too.
If you want additional arcs (like A->C) to be present (if there's data supporting this), you should use Bayesian Search learning algorithm and create the network structure in the background knowledge editor. You'll get the network with the arcs you've drawn manually as background knowledge and also possible some other arcs. The CPTs will be learned too.
Re: How to classify more than one variables when learning structure
marek wrote: If you insist on a structure similar to a TAN/ABN, please enforce it through background knowledge -- put links that you want to be there and run the algorithm to add additional links.
I just try your advice, In GeNIe, TAN learning algorithm can not add the background knowledge editor, like the picture below.shooltz wrote:you should use Bayesian Search learning algorithm and create the network structure in the background knowledge editor.
-
- Site Admin
- Posts: 1417
- Joined: Mon Nov 26, 2007 5:51 pm
Re: How to classify more than one variables when learning structure
As I indicated in my previous post, you should use Bayesian Search algorithm with background knowledge.