funded by   
EvolutionTree
The Evolution Tree is user control for the visualisation of evolution.
The evolution pathway is displayed by a TreeView
control. 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.
Overview
Programming Language
-
Microsoft Visual Basic .Net.
Availability
Constructors
Public Sub New()
Instantiates a new Evolution Tree.
Parameters
Remarks
-
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.
Interfaces
This class does not implement an interface.
Enumerations
The class does not provide enumerations.
Properties
The EvolutionTree does not have properties of its own. Only the properties
inherited from System.Windows.Forms.UserControl
are available.
Methods
Apart from the methods inherited from System.Windows.Forms.UserControl
, the follow methods were implemented:
Public Sub getMiner() As Miner
Returns the Miner object associated with the EvolutionTree.
Return Value
-
the Miner object associated with the EvolutionTree.
Parameters
Remarks
-
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.
Public Sub setMiner(ByRef NewMiner As Miner)
Associates a Miner object with the EvolutionTree.
Return Value
Parameters
-
NewMiner: a reference to the Miner to be associated with the EvolutionTree.
Remarks
-
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.
Public Overrides Sub refresh()
Refreshes the control. The text field showing information on the selected
node is cleared. The treenodes of the evolution tree are replaced with
the tree nodes retrieved from the Miner.
All nodes of the TreeView control are expanded.
Return Value
Parameter
Remarks
-
This function is called when the EvolutionTree is to be displayed.
Interaction with other classes
Classes using EvolutionTree
The EvolutionTree class is a top level class and not used by other classes
of the Mining library.
Classes used by EvolutionTree
The EvolutionTree relies on the data supplied via the Miner
object.
Interal Calculations
General Use
If you want to use the EvolutionTree in your project, the steps will typically
be:
Node Data
When the user clicks onto a node of the TreeView
control, the EvolutionTree retrieves further information on that node
and displays it in the text field.
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.