SplitCriterion.java
Upload User: rhdiban
Upload Date: 2013-08-09
Package Size: 15085k
Code Size: 2k
Category:

Windows Develop

Development Platform:

Java

  1. /*
  2.  *    This program is free software; you can redistribute it and/or modify
  3.  *    it under the terms of the GNU General Public License as published by
  4.  *    the Free Software Foundation; either version 2 of the License, or
  5.  *    (at your option) any later version.
  6.  *
  7.  *    This program is distributed in the hope that it will be useful,
  8.  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
  9.  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  10.  *    GNU General Public License for more details.
  11.  *
  12.  *    You should have received a copy of the GNU General Public License
  13.  *    along with this program; if not, write to the Free Software
  14.  *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15.  */
  16. /*
  17.  *    SplitCriterion.java
  18.  *    Copyright (C) 1999 Eibe Frank
  19.  *
  20.  */
  21. package weka.classifiers.j48;
  22. import java.io.*;
  23. /**
  24.  * Abstract class for computing splitting criteria
  25.  * with respect to distributions of class values.
  26.  *
  27.  * @author Eibe Frank (eibe@cs.waikato.ac.nz)
  28.  * @version $Revision: 1.4 $
  29.  */
  30. public abstract class SplitCriterion implements Serializable {
  31.   /**
  32.    * Computes result of splitting criterion for given distribution.
  33.    *
  34.    * @return value of splitting criterion. 0 by default
  35.    */
  36.   public double splitCritValue(Distribution bags){
  37.     return 0;
  38.   }
  39.   /**
  40.    * Computes result of splitting criterion for given training and
  41.    * test distributions.
  42.    *
  43.    * @return value of splitting criterion. 0 by default
  44.    */
  45.   public double splitCritValue(Distribution train, Distribution test){
  46.     return 0;
  47.   }
  48.   /**
  49.    * Computes result of splitting criterion for given training and
  50.    * test distributions and given number of classes.
  51.    *
  52.    * @return value of splitting criterion. 0 by default
  53.    */
  54.   public double splitCritValue(Distribution train, Distribution test,
  55.        int noClassesDefault){
  56.     return 0;
  57.   }
  58.   /**
  59.    * Computes result of splitting criterion for given training and
  60.    * test distributions and given default distribution.
  61.    *
  62.    * @return value of splitting criterion. 0 by default
  63.    */
  64.   public double splitCritValue(Distribution train, Distribution test,
  65.        Distribution defC){
  66.     return 0;
  67.   }
  68. }