org.knime.base.node.mine.svm.learner
Class SvmAlgorithm

java.lang.Object
  extended by org.knime.base.node.mine.svm.learner.SvmAlgorithm

public class SvmAlgorithm
extends Object

This class is the implementation of a binary SVM learning algorithm. The main algorithm is described in: Sequential Minimal Optimization: A Fast Algorithm for Training Support Vector Machines, by John C. Platt. This source code also contains the improvements to this algorithm presented in: Improvements to Platt's SMO Algorithm for SVM Classifier Design, by Keerthi a.o. In order to understand this code, you should read the above papers (which describe the algorithm used) and possibly other documents about SVMs in general. The variable names used in this class follow the notations from the papers.

Author:
Stefan, University of Konstanz, Nicolas Cebron, University of Konstanz

Constructor Summary
SvmAlgorithm(DoubleVector[] inputData, String positiveClass, Kernel kernel, double paramC)
          The main constructor.
 
Method Summary
 Svm run(ExecutionMonitor exec)
          Runs the main algorithm and return the resulting SVM.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SvmAlgorithm

public SvmAlgorithm(DoubleVector[] inputData,
                    String positiveClass,
                    Kernel kernel,
                    double paramC)
The main constructor.

Parameters:
inputData - the input vectors
positiveClass - the class value for which to consider an input vector a 'positive' example. if input vectors have other class values, they are considered 'negative'
paramC - the "C" from the problem constraints
kernel - the kernel to use in the algorithm
Method Detail

run

public Svm run(ExecutionMonitor exec)
        throws CanceledExecutionException,
               Exception
Runs the main algorithm and return the resulting SVM.

Parameters:
exec - progress is reported here
Returns:
the resulting SVM
Throws:
CanceledExecutionException - if the algorithm is canceled.
Exception - if the algorithm is not able to find support vectors.


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.