Class HillClimber


  • public class HillClimber
    extends Object
    HillClimber is an algortihm which is used to search Bayesian networks that model the data very well. Here is a description: For any pair of nodes, there can be an edge between them in either direction, or there may not be an edge. Starting with an empty network structure, the three options above are applied between every pair of nodes, and whatever option improves the score of the network is kept.
    • Constructor Detail

      • HillClimber

        public HillClimber()
    • Method Detail

      • main

        public static void main​(String[] args)
      • search

        public int[][] search​(int[][] DataMatrix,
                              int MaxNoOfParents)
        This method searches the best bayesian networks in the search space using the hill climber algortihm. It returns the best Bayesian network it has found over its search as an adjacency matrix.
        Parameters:
        DataMatrix - - The matrix containing data. Each row represents a data instance
        MaxNoOfParents - - The maximum number of parents any node in the network can have. In short, it is an upper bound on the number of parents any node could have in the Bayesian network, while the search takes place.
        Returns:
        An Adjacency matrix of the best learnt Bayesian network.