Class C45Loader

All Implemented Interfaces:
Serializable, BatchConverter, FileSourcedConverter, IncrementalConverter, Loader, EnvironmentHandler, RevisionHandler

public class C45Loader extends AbstractFileLoader implements BatchConverter, IncrementalConverter
Reads a file that is C45 format. Can take a filestem or filestem with .names or .data appended. Assumes that path/<filestem>.names and path/<filestem>.data exist and contain the names and data respectively.

Version:
$Revision: 9290 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  • Field Details

    • FILE_EXTENSION

      public static String FILE_EXTENSION
      the file extension
  • Constructor Details

    • C45Loader

      public C45Loader()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this attribute evaluator
      Returns:
      a description of the evaluator suitable for displaying in the explorer/experimenter gui
    • reset

      public void reset() throws IOException
      Resets the Loader ready to read a new data set or the same data set again.
      Specified by:
      reset in interface Loader
      Overrides:
      reset in class AbstractFileLoader
      Throws:
      IOException - if something goes wrong
    • getFileExtension

      public String getFileExtension()
      Get the file extension used for arff files
      Specified by:
      getFileExtension in interface FileSourcedConverter
      Returns:
      the file extension
    • getFileExtensions

      public String[] getFileExtensions()
      Gets all the file extensions used for this type of file
      Specified by:
      getFileExtensions in interface FileSourcedConverter
      Returns:
      the file extensions
    • getFileDescription

      public String getFileDescription()
      Returns a description of the file type.
      Specified by:
      getFileDescription in interface FileSourcedConverter
      Returns:
      a short file description
    • setSource

      public void setSource(File file) throws IOException
      Resets the Loader object and sets the source of the data set to be the supplied File object.
      Specified by:
      setSource in interface Loader
      Overrides:
      setSource in class AbstractFileLoader
      Parameters:
      file - the source file.
      Throws:
      IOException - if an error occurs
    • getStructure

      public Instances getStructure() throws IOException
      Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.
      Specified by:
      getStructure in interface Loader
      Specified by:
      getStructure in class AbstractLoader
      Returns:
      the structure of the data set as an empty set of Instances
      Throws:
      IOException - if an error occurs
    • getDataSet

      public Instances getDataSet() throws IOException
      Return the full data set. If the structure hasn't yet been determined by a call to getStructure then method should do so before processing the rest of the data set.
      Specified by:
      getDataSet in interface Loader
      Specified by:
      getDataSet in class AbstractLoader
      Returns:
      the structure of the data set as an empty set of Instances
      Throws:
      IOException - if there is no source or parsing fails
    • getNextInstance

      public Instance getNextInstance(Instances structure) throws IOException
      Read the data set incrementally---get the next instance in the data set or returns null if there are no more instances to get. If the structure hasn't yet been determined by a call to getStructure then method should do so before returning the next instance in the data set. If it is not possible to read the data set incrementally (ie. in cases where the data set structure cannot be fully established before all instances have been seen) then an exception should be thrown.
      Specified by:
      getNextInstance in interface Loader
      Specified by:
      getNextInstance in class AbstractLoader
      Parameters:
      structure - the dataset header information, will get updated in case of string or relational attributes
      Returns:
      the next instance in the data set as an Instance object or null if there are no more instances to be read
      Throws:
      IOException - if there is an error during parsing
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision
    • main

      public static void main(String[] args)
      Main method for testing this class.
      Parameters:
      args - should contain <filestem>[.names | data]