Class LibSVMLoader

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

public class LibSVMLoader extends AbstractFileLoader implements BatchConverter, URLSourcedLoader
Reads a source that is in libsvm format.

For more information about libsvm see:

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Version:
$Revision: 11360 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Field Details

    • FILE_EXTENSION

      public static String FILE_EXTENSION
      the file extension.
  • Constructor Details

    • LibSVMLoader

      public LibSVMLoader()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this Loader.
      Returns:
      a description of the Loader suitable for displaying in the explorer/experimenter gui
    • getFileExtension

      public String getFileExtension()
      Get the file extension used for libsvm 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
    • reset

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

      public void setSource(URL url) throws IOException
      Resets the Loader object and sets the source of the data set to be the supplied url.
      Parameters:
      url - the source url.
      Throws:
      IOException - if an error occurs
    • setURL

      public void setURL(String url) throws IOException
      Set the url to load from.
      Specified by:
      setURL in interface URLSourcedLoader
      Parameters:
      url - the url to load from
      Throws:
      IOException - if the url can't be set.
    • retrieveURL

      public String retrieveURL()
      Return the current url.
      Specified by:
      retrieveURL in interface URLSourcedLoader
      Returns:
      the current url
    • setSource

      public void setSource(InputStream in) throws IOException
      Resets the Loader object and sets the source of the data set to be the supplied InputStream.
      Specified by:
      setSource in interface Loader
      Overrides:
      setSource in class AbstractLoader
      Parameters:
      in - the source InputStream.
      Throws:
      IOException - if initialization of reader fails.
    • 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
      LibSVmLoader is unable to process a data set incrementally.
      Specified by:
      getNextInstance in interface Loader
      Specified by:
      getNextInstance in class AbstractLoader
      Parameters:
      structure - ignored
      Returns:
      never returns without throwing an exception
      Throws:
      IOException - always. LibSVMLoader is unable to process a data set incrementally.
    • 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.
      Parameters:
      args - should contain the name of an input file.