001/*
002 *                    BioJava development code
003 *
004 * This code may be freely distributed and modified under the
005 * terms of the GNU Lesser General Public Licence.  This should
006 * be distributed with the code.  If you do not have a copy,
007 * see:
008 *
009 *      http://www.gnu.org/copyleft/lesser.html
010 *
011 * Copyright for this code is held jointly by the individual
012 * authors.  These should be listed in @author doc comments.
013 *
014 * For more information on the BioJava project and its aims,
015 * or to join the biojava-l mailing list, visit the home page
016 * at:
017 *
018 *      http://www.biojava.org/
019 *
020 */
021
022
023package org.biojava.stats.svm;
024
025import java.util.Set;
026
027/**
028 * An SVM classifier model.
029 * <p>
030 * This is the interface for objects that contain the model for a binary
031 * classification task.
032 *
033 * @author Matthew Pocock
034 */
035public interface SVMClassifierModel {
036  public SVMKernel getKernel();
037  
038  public void setThreshold(double threshold)
039  throws UnsupportedOperationException;
040  
041  public double getThreshold();
042  
043  public Set items();
044  
045  public Set itemAlphas();
046
047  public double getAlpha(Object item);
048  
049  public void setAlpha(Object item, double alpha)
050  throws UnsupportedOperationException;
051  
052  public void addItem(Object item)
053  throws UnsupportedOperationException;
054  
055  public void addItemAlpha(Object item, double alpha)
056  throws UnsupportedOperationException;
057  
058  public void removeItem(Object item)
059  throws UnsupportedOperationException;
060  
061  public void clear()
062  throws UnsupportedOperationException;
063  
064  public double classify(Object item);
065}