Package org.encog.ml.bayesian

Examples of org.encog.ml.bayesian.BayesianNetwork


  }
 
  public double probabilitySpam(String m) {
    List<String> words = separateSpaces(m);
   
    BayesianNetwork network = new BayesianNetwork();
    BayesianEvent spamEvent = network.createEvent("spam");
   
    int index = 0;
    for( String word: words) {
      BayesianEvent event = network.createEvent(word+index);
      network.createDependency(spamEvent, event);
      index++;
    }
   
    network.finalizeStructure();
   
    //SamplingQuery query = new SamplingQuery(network);
    EnumerationQuery query = new EnumerationQuery(network);
   
    CalcProbability messageProbability = new CalcProbability(this.k);
    messageProbability.addClass(SPAM_DATA.length);
    messageProbability.addClass(HAM_DATA.length);
    double probSpam = messageProbability.calculate(0);

    spamEvent.getTable().addLine(probSpam, true);
    query.defineEventType(spamEvent, EventType.Outcome);
    query.setEventValue(spamEvent, true);
       
    index = 0;
    for( String word: words) {
      String word2 = word+index;
      BayesianEvent event = network.getEvent(word2);
      event.getTable().addLine(this.spamBag.probability(word), true, true); // spam
      event.getTable().addLine(this.hamBag.probability(word), true, false); // ham
      query.defineEventType(event, EventType.Evidence);
      query.setEventValue(event, true);
      index++;
View Full Code Here


  /**
   * Constructor.
   */
  public BIFHandler() {
    this.network = new BayesianNetwork();
  }
View Full Code Here

  public final File EG_FILENAME = TEMP_DIR.createFile("encogtest.eg");
  public final File SERIAL_FILENAME = TEMP_DIR.createFile("encogtest.ser");
   
  public BayesianNetwork create()
  {
    BayesianNetwork network = new BayesianNetwork();
    BayesianEvent a = network.createEvent("a");
    BayesianEvent b = network.createEvent("b");

    network.createDependency(a, b);
    network.finalizeStructure();
    a.getTable().addLine(0.5, true); // P(A) = 0.5
    b.getTable().addLine(0.2, true, true); // p(b|a) = 0.2
    b.getTable().addLine(0.8, true, false);// p(b|~a) = 0.8   
    network.validate();
    return network;
  }
View Full Code Here

    Assert.assertEquals(3, network.calculateParameterCount());
  }
 
  public void testPersistEG()
  {
    BayesianNetwork network = create();

    EncogDirectoryPersistence.saveObject(EG_FILENAME, network);
    BayesianNetwork network2 = (BayesianNetwork)EncogDirectoryPersistence.loadObject(EG_FILENAME);

    validate(network2);
  }
View Full Code Here

    validate(network2);
  }
 
  public void testPersistSerial() throws IOException, ClassNotFoundException
  {
    BayesianNetwork network = create();
   
    SerializeObject.save(SERIAL_FILENAME, network);
    BayesianNetwork network2 = (BayesianNetwork)SerializeObject.load(SERIAL_FILENAME);
       
    validate(network2);
  }
View Full Code Here

   * @param output The output neuron count.
   * @return The new bayesian network.
   */
  public MLMethod create(final String architecture, final int input,
      final int output) {
    BayesianNetwork method = new BayesianNetwork();
    method.setContents(architecture);
    return method;
  }
View Full Code Here

TOP

Related Classes of org.encog.ml.bayesian.BayesianNetwork

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.