public class SVMLightClassifierFactory<L,F> extends Object implements ClassifierFactory<L,F,SVMLightClassifier<L,F>>
SVMLightClassifier
s). It actually calls SVM Light. or
SVM Struct for multiclass SVMs, on the command line, reads in the produced
model file and creates a Linear Classifier. A Platt model is also trained
(unless otherwise specified) on top of the SVM so that probabilities can
be produced. For multiclass classifier, you have to set C using setC otherwise the code will not run (by sonalg).Modifier and Type | Field and Description |
---|---|
protected File |
alphaFile |
protected double |
C
C can be tuned using held-out set or cross-validation
For binary SVM, if C=0, svmlight uses default of 1/(avg x*x)
|
protected boolean |
verbose |
Constructor and Description |
---|
SVMLightClassifierFactory() |
SVMLightClassifierFactory(String svmLightLearn,
String svmStructLearn) |
Modifier and Type | Method and Description |
---|---|
void |
crossValidateSetC(GeneralDataset<L,F> dataset,
int numFolds,
Scorer<L> scorer,
LineSearcher minimizer)
This method will cross validate on the given data and number of folds
to find the optimal C.
|
double |
getC()
Get the C parameter (for the slack variables) for training the SVM.
|
boolean |
getDeleteTempFilesOnExitFlag() |
int |
getFolds() |
double |
getHeldOutPercent() |
Scorer |
getScorer() |
int |
getSvmLightVerbosity() |
boolean |
getTuneCV() |
boolean |
getTuneHeldOut() |
LineSearcher |
getTuneMinimizer() |
boolean |
getUseSigma()
Get whether or not to train an overlying platt (sigmoid)
model for producing meaningful probabilities.
|
void |
heldOutSetC(GeneralDataset<L,F> train,
double percentHeldOut,
Scorer<L> scorer,
LineSearcher minimizer) |
void |
heldOutSetC(GeneralDataset<L,F> trainSet,
GeneralDataset<L,F> devSet,
Scorer<L> scorer,
LineSearcher minimizer)
This method will cross validate on the given data and number of folds
to find the optimal C.
|
void |
setC(double C)
Set the C parameter (for the slack variables) for training the SVM.
|
void |
setDeleteTempFilesOnExitFlag(boolean deleteTempFilesOnExit) |
void |
setFolds(int folds) |
void |
setHeldOutPercent(double heldOutPercent) |
void |
setScorer(Scorer<L> scorer) |
void |
setSvmLightVerbosity(int svmLightVerbosity) |
void |
setTuneCV(boolean tuneCV) |
void |
setTuneHeldOut(boolean tuneHeldOut) |
void |
setTuneMinimizer(LineSearcher minimizer) |
void |
setUseSigmoid(boolean useSigmoid)
Specify whether or not to train an overlying platt (sigmoid)
model for producing meaningful probabilities.
|
SVMLightClassifier<L,F> |
trainClassifier(GeneralDataset<L,F> dataset) |
SVMLightClassifier<L,F> |
trainClassifier(List<RVFDatum<L,F>> examples)
Deprecated.
|
SVMLightClassifier<L,F> |
trainClassifierBasic(GeneralDataset<L,F> dataset) |
protected double C
protected boolean verbose
protected File alphaFile
public SVMLightClassifierFactory(String svmLightLearn, String svmStructLearn)
svmLightLearn
- is the fullPathname of the training program of svmLight with default value "/u/nlp/packages/svm_light/svm_learn"svmStructLearn
- is the fullPathname of the training program of svmMultiClass with default value "/u/nlp/packages/svm_multiclass/svm_multiclass_learn"public SVMLightClassifierFactory()
public void setC(double C)
public double getC()
public void setUseSigmoid(boolean useSigmoid)
public boolean getUseSigma()
public boolean getDeleteTempFilesOnExitFlag()
public void setDeleteTempFilesOnExitFlag(boolean deleteTempFilesOnExit)
public void crossValidateSetC(GeneralDataset<L,F> dataset, int numFolds, Scorer<L> scorer, LineSearcher minimizer)
public void heldOutSetC(GeneralDataset<L,F> train, double percentHeldOut, Scorer<L> scorer, LineSearcher minimizer)
public void heldOutSetC(GeneralDataset<L,F> trainSet, GeneralDataset<L,F> devSet, Scorer<L> scorer, LineSearcher minimizer)
@Deprecated public SVMLightClassifier<L,F> trainClassifier(List<RVFDatum<L,F>> examples)
trainClassifier
in interface ClassifierFactory<L,F,SVMLightClassifier<L,F>>
public double getHeldOutPercent()
public void setHeldOutPercent(double heldOutPercent)
public int getFolds()
public void setFolds(int folds)
public LineSearcher getTuneMinimizer()
public void setTuneMinimizer(LineSearcher minimizer)
public Scorer getScorer()
public boolean getTuneCV()
public void setTuneCV(boolean tuneCV)
public boolean getTuneHeldOut()
public void setTuneHeldOut(boolean tuneHeldOut)
public int getSvmLightVerbosity()
public void setSvmLightVerbosity(int svmLightVerbosity)
public SVMLightClassifier<L,F> trainClassifier(GeneralDataset<L,F> dataset)
trainClassifier
in interface ClassifierFactory<L,F,SVMLightClassifier<L,F>>
public SVMLightClassifier<L,F> trainClassifierBasic(GeneralDataset<L,F> dataset)