The Evolution Tree is user control for the visualisation of evolution. The evolution pathway is displayed by a TreeViewcontrol. By selecting a node of the TreeView (a point in the evolution pathway), more information on that point is retrieved and displayed.
Mor information on the internal calculations in the EvolutionTree control is provided in the section "Internal calculations"; the calculation of the evolution tree proper is described in the "Evolution Tree" section of the Miner.
- Interaction with other classes
- Internal calculations
|setMiner(ByRef NewMiner: Miner): void|
- Microsoft Visual Basic .Net.
- Copyrighted but free software under the GNU Public License.
- Binaries and source code can be obtained from the Download section.
- The EvolutionTree control can be handled like any other user control. The constructor is automatically called when the control is placed onto a form in the designer.
- The EvolutionTree receives its data from a Miner object which is set by reference using the setMiner() function.
- the Miner object associated with the EvolutionTree.
- The Miner is set using the setMiner() function. Because it is passed by reference for performance reasons, the Miner cannot be implemented as a property.
- NewMiner: a reference to the Miner to be associated with the EvolutionTree.
- The Miner cannot be implemented as a property because it is passed by reference for performance reasons.
- The Miner can be retrieved using the getMiner function.
- This function is called when the EvolutionTree is to be displayed.
Classes using EvolutionTreeThe EvolutionTree class is a top level class and not used by other classes of the Mining library.
Classes used by EvolutionTreeThe EvolutionTree relies on the data supplied via the Miner object.
- Place an EvolutionTree control onto a form
- Create a MiningInputData object
- Supply case and event identifiers and the case-event-matrix or add cases with the addCase functions
- Create a Miner object with the above MiningInputData
- Set appropriate mining parameters
- Start the calculation of the evolution tree with Miner.calculateEvolutionTree
- Connect the Miner with the EvolutionTree using EvolutionTree.setMiner
- Draw the EvolutionTree by calling EvolutionTree.refresh
The TreeView.AfterSelect handler retrieves the FullPath and Text properties from the TreeView control. The value of the FullPath property is then passed into the non-public function Miner.calculateNodeData which returns the number of cases containing all events of the node, the number of cases containing all events of the parent node, the number of cases with all events expected at this node in case of independence from the parent node, and the signed chi-square value for the dependence.
The number of cases for a node are counted in the private calculateSupportForNode function of the Miner object. The dependence of the event shown in the last node from its parent is calculated relative to the sub-population of the grand-parent of that node. The signed chi-square value is used as a parameter of dependence.
By reshuffling the elements of teh path into alternative pathways and checking those pathways for existence, alternative or concurrent ways of evolution are determined.