mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/svm/SVMData.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2004, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: SVMData.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.6 $
2 26 Feb 07 jari 8  * $Date: 2006/03/24 15:51:53 $
2 26 Feb 07 jari 9  * $Author: eleanorahowe $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12
2 26 Feb 07 jari 13 package org.tigr.microarray.mev.cluster.gui.impl.svm;
2 26 Feb 07 jari 14
2 26 Feb 07 jari 15 import java.io.File;
2 26 Feb 07 jari 16
2 26 Feb 07 jari 17 import javax.swing.JDialog;
2 26 Feb 07 jari 18 import javax.swing.JOptionPane;
2 26 Feb 07 jari 19
2 26 Feb 07 jari 20 import org.tigr.microarray.mev.cluster.algorithm.Algorithm;
2 26 Feb 07 jari 21
2 26 Feb 07 jari 22 public class SVMData {
2 26 Feb 07 jari 23
2 26 Feb 07 jari 24     public SVMData() {
2 26 Feb 07 jari 25         constant = 1.0f;
2 26 Feb 07 jari 26         coefficient = 1.0f;
2 26 Feb 07 jari 27         power = 1.0f;
2 26 Feb 07 jari 28         diagonalFactor = 1.0f;
2 26 Feb 07 jari 29         convergenceThreshold = 0.00001f;
2 26 Feb 07 jari 30         radial = false;
2 26 Feb 07 jari 31         normalize = false;
2 26 Feb 07 jari 32         widthFactor = 1.0f;
2 26 Feb 07 jari 33         constrainWeights = true;
2 26 Feb 07 jari 34         positiveConstraint = 1.0f;
2 26 Feb 07 jari 35         negativeConstraint = 1.0f;
2 26 Feb 07 jari 36         positiveDiagonal = 0.0f;
2 26 Feb 07 jari 37         negativeDiagonal = 0.0f;
2 26 Feb 07 jari 38         classificationFile = null;
2 26 Feb 07 jari 39         classifyGenes = true;
2 26 Feb 07 jari 40         calculateHCL = false;
2 26 Feb 07 jari 41         calcSampleHCL = false;
2 26 Feb 07 jari 42         calcGeneHCL = false;
2 26 Feb 07 jari 43         hclMethod = 0;
2 26 Feb 07 jari 44         distanceFunction = Algorithm.EUCLIDEAN;
2 26 Feb 07 jari 45         useEditor = true;
2 26 Feb 07 jari 46     }
2 26 Feb 07 jari 47     
2 26 Feb 07 jari 48     public SVMData(SVMData data){
2 26 Feb 07 jari 49         constant = data.constant;
2 26 Feb 07 jari 50                 coefficient = data.coefficient;
2 26 Feb 07 jari 51         power = data.power;
2 26 Feb 07 jari 52         diagonalFactor = data.diagonalFactor;
2 26 Feb 07 jari 53         convergenceThreshold = data.convergenceThreshold;
2 26 Feb 07 jari 54         radial = data.radial;
2 26 Feb 07 jari 55         normalize = data.normalize;
2 26 Feb 07 jari 56         widthFactor = data.widthFactor;
2 26 Feb 07 jari 57         constrainWeights = data.constrainWeights;
2 26 Feb 07 jari 58         positiveConstraint = data.positiveConstraint;
2 26 Feb 07 jari 59         negativeConstraint = data.negativeConstraint;
2 26 Feb 07 jari 60         positiveDiagonal = data.positiveDiagonal;
2 26 Feb 07 jari 61         negativeDiagonal = data.negativeDiagonal;
2 26 Feb 07 jari 62         classificationFile = data.classificationFile;
2 26 Feb 07 jari 63         classifyGenes = data.classifyGenes;
2 26 Feb 07 jari 64         calculateHCL = data.calculateHCL;
2 26 Feb 07 jari 65         calcSampleHCL = data.calcSampleHCL;
2 26 Feb 07 jari 66         calcGeneHCL = data.calcGeneHCL;
2 26 Feb 07 jari 67         hclMethod = data.hclMethod;
2 26 Feb 07 jari 68         distanceFunction = data.distanceFunction;
2 26 Feb 07 jari 69         useEditor = data.useEditor;
2 26 Feb 07 jari 70         seed = data.seed;
2 26 Feb 07 jari 71         objective1 = data.objective1;
2 26 Feb 07 jari 72         twoSquaredWidth = data.twoSquaredWidth;        
2 26 Feb 07 jari 73     }
2 26 Feb 07 jari 74     
2 26 Feb 07 jari 75     public float constant;                /* Constant to add to kernel. */
2 26 Feb 07 jari 76     public float coefficient;             /* Linear multiplier on kernel. */
2 26 Feb 07 jari 77     public float power;                   /* Power to raise the kernel to. */
2 26 Feb 07 jari 78     public float diagonalFactor;          /* This one is complicated... */
2 26 Feb 07 jari 79     public float convergenceThreshold;    /* Delta objective at which to stop. */
2 26 Feb 07 jari 80     public boolean radial;                /* Create radial basis kernel? */
2 26 Feb 07 jari 81     public boolean normalize;             /* Normalize rows of training matrix? */
2 26 Feb 07 jari 82     public float widthFactor;             /* Multiplicative factor on width. */
2 26 Feb 07 jari 83     public float positiveConstraint;      /* Maximum allowed weight for positives. */
2 26 Feb 07 jari 84     public float negativeConstraint;      /* Maximum allowed weight for negatives. */
2 26 Feb 07 jari 85     public boolean constrainWeights;      /* Prevent weights from exceeding 1? */
2 26 Feb 07 jari 86     public File classificationFile;
2 26 Feb 07 jari 87     public boolean useEditor;
2 26 Feb 07 jari 88     
2 26 Feb 07 jari 89     public int distanceFunction;
2 26 Feb 07 jari 90     public boolean absoluteDistance;
2 26 Feb 07 jari 91     public float positiveDiagonal;         /* Add to diagonal of kernel matrix. */
2 26 Feb 07 jari 92     public float negativeDiagonal;         /* Add to diagonal of kernel matrix. */
2 26 Feb 07 jari 93     
2 26 Feb 07 jari 94     public long seed = 0;
2 26 Feb 07 jari 95     public float objective1;
2 26 Feb 07 jari 96     public float twoSquaredWidth;
2 26 Feb 07 jari 97     public boolean classifyGenes;     /* Classify genes, or if not genes then experiments */
2 26 Feb 07 jari 98     public boolean calculateHCL;
2 26 Feb 07 jari 99     public boolean calcGeneHCL;
2 26 Feb 07 jari 100     public boolean calcSampleHCL;
2 26 Feb 07 jari 101     public int hclMethod;
2 26 Feb 07 jari 102     
2 26 Feb 07 jari 103     public boolean validate(JDialog parent){
2 26 Feb 07 jari 104         if(diagonalFactor < 0){
2 26 Feb 07 jari 105             JOptionPane.showMessageDialog(parent, "Diagonal Factor must be >= 0", "Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 106             return false;
2 26 Feb 07 jari 107         }
2 26 Feb 07 jari 108         if(radial && widthFactor < 0){
2 26 Feb 07 jari 109             JOptionPane.showMessageDialog(parent, "Width Factor must be >= 0", "Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 110             return false;
2 26 Feb 07 jari 111         }
2 26 Feb 07 jari 112         if(convergenceThreshold <= 0){
2 26 Feb 07 jari 113             JOptionPane.showMessageDialog(parent, "Threshold must be > 0", "Error", JOptionPane.ERROR_MESSAGE);
2 26 Feb 07 jari 114             return false;
2 26 Feb 07 jari 115         }
2 26 Feb 07 jari 116         return true;
2 26 Feb 07 jari 117     }
2 26 Feb 07 jari 118     
2 26 Feb 07 jari 119 }