Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.encog.ml.bayesian
Class BayesianNetwork

    java.lang.Object
      org.encog.ml.BasicML
          org.encog.ml.bayesian.BayesianNetwork

All Implemented Interfaces:
  Serializable, MLClassification, MLError, MLInput, MLInputOutput, MLMethod, MLOutput, MLProperties, MLResettable

    public class BayesianNetwork

extends BasicML
implements MLClassification, MLResettable, Serializable, MLError

The Bayesian Network is a machine learning method that is based on probability, and particularly Bayes' Rule. The Bayesian Network also forms the basis for the Hidden Markov Model and Naive Bayesian Network. The Bayesian Network is either constructed directly or inferred from training data using an algorithm such as K2. http://www.heatonresearch.com/wiki/Bayesian_Network

See Also:
  Serialized Form

Field Summary
`static String[]` | `CHOICES_TRUE_FALSE` Default choices for a boolean event.

Constructor Summary
`BayesianNetwork()`

Method Summary
`double` | `calculateError(MLDataSet data)` Calculate the error of the ML method, given a dataset.
`int` | `calculateParameterCount()`
`int` | `classify(MLData input)` Classify the input.
`double` | `computeProbability(MLData input)`
`void` | `createDependency(BayesianEvent parentEvent, BayesianEvent... children)` Create a dependency between a parent and multiple children.
`void` | `createDependency(BayesianEvent parentEvent, BayesianEvent childEvent)` Create a dependency between two events.
`void` | `createDependency(String parentEventLabel, String childEventLabel)` Create a dependency between two labels.
`void` | `createEvent(BayesianEvent event)` Create, or register, the specified event with this bayesian network.
`BayesianEvent` | `createEvent(String label, List<BayesianChoice> options)` Create an event specified on the label and options provided.
`BayesianEvent` | `createEvent(String label, String... options)` Create the specified events based on a variable number of options, or choices.
`void` | `defineClassificationStructure(String line)` Define a classification structure of the form P(A|B) = P(C)
`void` | `defineProbability(String line)` Define a probability.
`void` | `defineProbability(String line, double probability)` Define the probability for an event.
`void` | `defineRelationship(String line)` Define a relationship.
`int[]` | `determineClasses(MLData input)` Determine the classes for the specified input.
`boolean` | `eventExists(String label)` Return true if the specified event exists.
`void` | `finalizeStructure()` Finalize the structure of this Bayesian network.
`String` | `getClassificationStructure()`
`int` | `getClassificationTarget()` Get the classification target.
`BayesianEvent` | `getClassificationTargetEvent()`
`String` | `getContents()`
`BayesianEvent` | `getEvent(String label)` Get an event based on the string label.
`BayesianEvent` | `getEventError(String label)` Get an event based on label, throw an error if not found.
`int` | `getEventIndex(BayesianEvent event)`
`Map<String,BayesianEvent>` | `getEventMap()`
`List<BayesianEvent>` | `getEvents()`
`int` | `getInputCount()`
`int` | `getOutputCount()`
`BayesianQuery` | `getQuery()`
`boolean` | `hasValidClassificationTarget()`
`boolean` | `isCondIndependent(BayesianEvent a, BayesianEvent b, BayesianEvent... given)`
`boolean` | `isDescendant(BayesianEvent a, BayesianEvent b)` Determine if one event is a descendant of another.
`boolean` | `isInputPresent(int idx)` Determine if the specified input is present.
`double` | `performQuery(String line)` Perform a query.
`void` | `removeAllRelations()` Remove all relations between nodes.
`BayesianEvent` | `requireEvent(String label)` Require the specified event, thrown an error if it does not exist.
`void` | `reset()` Reset the weights.
`void` | `reset(int seed)` Reset the weights with a seed.
`void` | `setContents(String line)` Define the structure of the Bayesian network as a string.
`void` | `setQuery(BayesianQuery query)`
`String` | `toString()`
`void` | `updateProperties()` Update any objeccts when a property changes.
`void` | `validate()` Validate the structure of this Bayesian network.

Methods inherited from class org.encog.ml.BasicML
`getProperties, getPropertyDouble, getPropertyLong, getPropertyString, setProperty, setProperty, setProperty`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### CHOICES_TRUE_FALSE

    public static final String[] CHOICES_TRUE_FALSE

  Default choices for a boolean event.

Constructor Detail

### BayesianNetwork

    public BayesianNetwork()

Method Detail

### getEventMap

    public Map<String,BayesianEvent> getEventMap()

  Returns:
    The mapping from string names to events.

### getEvents

    public List<BayesianEvent> getEvents()

  Returns:
    The events.

### getEvent

    public BayesianEvent getEvent(String label)

  Get an event based on the string label.

  Parameters:
    `label` - The label to locate.
  Returns:
    The event found.

### getEventError

    public BayesianEvent getEventError(String label)

  Get an event based on label, throw an error if not found.

  Parameters:
    `label` - THe event label to find.
  Returns:
    The event.

### eventExists

    public boolean eventExists(String label)

  Return true if the specified event exists.

  Parameters:
    `label` - The label we are searching for.
  Returns:
    True, if the event exists by label.

### createEvent

    public void createEvent(BayesianEvent event)

  Create, or register, the specified event with this bayesian network.

  Parameters:
    `event` - The event to add.

### createEvent

    public BayesianEvent createEvent(String label,
                                     List<BayesianChoice> options)

  Create an event specified on the label and options provided.

  Parameters:
    `label` - The label to create this event as.
    `options` - The options, or states, that this event can have.
  Returns:
    The newly created event.

### createEvent

    public BayesianEvent createEvent(String label,
                                     String... options)

  Create the specified events based on a variable number of options, or choices.

  Parameters:
    `label` - The label of the event to create.
    `options` - The states that the event can have.
  Returns:
    The newly created event.

### createDependency

    public void createDependency(BayesianEvent parentEvent,
                                 BayesianEvent childEvent)

  Create a dependency between two events.

  Parameters:
    `parentEvent` - The parent event.
    `childEvent` - The child event.

### createDependency

    public void createDependency(BayesianEvent parentEvent,
                                 BayesianEvent... children)

  Create a dependency between a parent and multiple children.

  Parameters:
    `parentEvent` - The parent event.
    `children` - The child events.

### createDependency

    public void createDependency(String parentEventLabel,
                                 String childEventLabel)

  Create a dependency between two labels.

  Parameters:
    `parentEventLabel` - The parent event.
    `childEventLabel` - The child event.

### getContents

    public String getContents()

  Returns:
    The contents as a string. Shows both events and dependences.

### setContents

    public void setContents(String line)

  Define the structure of the Bayesian network as a string.

  Parameters:
    `line` - The string to define events and relations.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### calculateParameterCount

    public int calculateParameterCount()

  Returns:
    The number of parameters in this Bayesian network.

### finalizeStructure

    public void finalizeStructure()

  Finalize the structure of this Bayesian network.

### validate

    public void validate()

  Validate the structure of this Bayesian network.

### isDescendant

    public boolean isDescendant(BayesianEvent a,
                                BayesianEvent b)

  Determine if one event is a descendant of another.

  Parameters:
    `a` - The event to check.
    `b` - The event that has children.
  Returns:
    True if a is amoung b's children.

### isCondIndependent

    public boolean isCondIndependent(BayesianEvent a,
                                     BayesianEvent b,
                                     BayesianEvent... given)

### getQuery

    public BayesianQuery getQuery()

### setQuery

    public void setQuery(BayesianQuery query)

### getInputCount

    public int getInputCount()

  Specified by:
    `getInputCount` in interface `MLInput`
  Returns:
    The input.

### getOutputCount

    public int getOutputCount()

  Specified by:
    `getOutputCount` in interface `MLOutput`
  Returns:
    The output count.

### computeProbability

    public double computeProbability(MLData input)

### defineProbability

    public void defineProbability(String line,
                                  double probability)

  Define the probability for an event.

  Parameters:
    `line` - The event.
    `probability` - The probability.

### defineProbability

    public void defineProbability(String line)

  Define a probability.

  Parameters:
    `line` - The line to define the probability.

### requireEvent

    public BayesianEvent requireEvent(String label)

  Require the specified event, thrown an error if it does not exist.

  Parameters:
    `label` -
  Returns:

### defineRelationship

    public void defineRelationship(String line)

  Define a relationship.

  Parameters:
    `line` - The relationship to define.

### performQuery

    public double performQuery(String line)

  Perform a query.

  Parameters:
    `line` - The query.
  Returns:
    The probability.

### updateProperties

    public void updateProperties()

  Update any objeccts when a property changes.

  Specified by:
    `updateProperties` in interface `MLProperties`
  Specified by:
    `updateProperties` in class `BasicML`

### getEventIndex

    public int getEventIndex(BayesianEvent event)

### removeAllRelations

    public void removeAllRelations()

  Remove all relations between nodes.

### reset

    public void reset()

  Reset the weights.

  Specified by:
    `reset` in interface `MLResettable`

### reset

    public void reset(int seed)

  Reset the weights with a seed.

  Specified by:
    `reset` in interface `MLResettable`
  Parameters:
    `seed` - The seed value.

### determineClasses

    public int[] determineClasses(MLData input)

  Determine the classes for the specified input.

  Parameters:
    `input` - The input.
  Returns:
    An array of class indexes.

### classify

    public int classify(MLData input)

  Classify the input.

  Specified by:
    `classify` in interface `MLClassification`
  Parameters:
    `input` - The input to classify.
  Returns:
    The group that the data was classified into.

### getClassificationTarget

    public int getClassificationTarget()

  Get the classification target.

  Returns:
    The index of the classification target.

### isInputPresent

    public boolean isInputPresent(int idx)

  Determine if the specified input is present.

  Parameters:
    `idx` - The index of the input.
  Returns:
    True, if the input is present.

### defineClassificationStructure

    public void defineClassificationStructure(String line)

  Define a classification structure of the form P(A|B) = P(C)

  Parameters:
    `line` -

### getClassificationTargetEvent

    public BayesianEvent getClassificationTargetEvent()

  Returns:
    The classification target.

### calculateError

    public double calculateError(MLDataSet data)

  Calculate the error of the ML method, given a dataset.

  Specified by:
    `calculateError` in interface `MLError`
  Parameters:
    `data` - The dataset.
  Returns:
    The error.

### getClassificationStructure

    public String getClassificationStructure()

  Returns:
    Returns a string representation of the classification structure. Of the form P(a|b,c,d)

### hasValidClassificationTarget

    public boolean hasValidClassificationTarget()

  Returns:
    True if this network has a valid classification target.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2012. All Rights Reserved.