Package aima.core.learning.inductive

Source Code of aima.core.learning.inductive.DLTest

package aima.core.learning.inductive;

import java.util.Hashtable;

import aima.core.learning.framework.DataSet;
import aima.core.learning.framework.Example;

/**
* @author Ravi Mohan
*
*/
public class DLTest {

  // represents a single test in the Decision List
  private Hashtable<String, String> attrValues;

  public DLTest() {
    attrValues = new Hashtable<String, String>();
  }

  public void add(String nta, String ntaValue) {
    attrValues.put(nta, ntaValue);

  }

  public boolean matches(Example e) {
    for (String key : attrValues.keySet()) {
      if (!(attrValues.get(key).equals(e.getAttributeValueAsString(key)))) {
        return false;
      }
    }
    return true;
    // return e.targetValue().equals(targetValue);
  }

  public DataSet matchedExamples(DataSet ds) {
    DataSet matched = ds.emptyDataSet();
    for (Example e : ds.examples) {
      if (matches(e)) {
        matched.add(e);
      }
    }
    return matched;
  }

  public DataSet unmatchedExamples(DataSet ds) {
    DataSet unmatched = ds.emptyDataSet();
    for (Example e : ds.examples) {
      if (!(matches(e))) {
        unmatched.add(e);
      }
    }
    return unmatched;
  }

  @Override
  public String toString() {
    StringBuffer buf = new StringBuffer();
    buf.append("IF  ");
    for (String key : attrValues.keySet()) {
      buf.append(key + " = ");
      buf.append(attrValues.get(key) + " ");
    }
    buf.append(" DECISION ");
    return buf.toString();
  }
}
TOP

Related Classes of aima.core.learning.inductive.DLTest

TOP
Copyright © 2018 www.massapi.com. 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.