public class SVRegression extends SupportVectorMachine implements Serializable, Cloneable
The standard form SVR is the so-called epsilon-support vector regression, or \(\varepsilon\)-SVR. If \(z_i\) is the target output, then given the parameters \(C > \, 0, \varepsilon > \, 0\), the standard form SVR is
$$\min_ {w, b, \xi, \xi^*} \frac{1}{2} w^Tw+C\sum_{i=1}^{l} \xi _i + C\sum_{i=1}^{l} {\xi _i}^*$$
$$\text{subject to} \, \, w^T \phi (x_i)+b-z_i \leq \varepsilon +\xi _i,$$
$$z_i - w^T \phi (x_i)-b \leq \varepsilon +{\xi _i}^*,$$
$$ \xi_i, {\xi_i}^* \geq 0, i=1, \ldots, l $$
The variables \(\xi _i\) and
\({\xi _i}^*\) are two slack variables, one for exceeding
the target value by more than
\(\epsilon\) and the other for being more than
\(\epsilon\) below the target.
\(\epsilon\) is controlled through the use of the set method
setInsensitivityBand.
SupportVectorMachine.ReflectiveOperationExceptionPredictiveModel.CloneNotSupportedException, PredictiveModel.PredictiveModelException, PredictiveModel.StateChangeException, PredictiveModel.SumOfProbabilitiesNotOneException, PredictiveModel.VariableType| Constructor and Description |
|---|
SVRegression(double[][] xy,
int responseColumnIndex,
PredictiveModel.VariableType[] varType)
Constructs a support vector machine for regression (SVR).
|
SVRegression(double[][] xy,
int responseColumnIndex,
PredictiveModel.VariableType[] varType,
Kernel k)
Constructs a support vector machine for regression (SVR).
|
SVRegression(SVRegression svrModel)
Constructs a copy of the input
SVRegression predictive model. |
| Modifier and Type | Method and Description |
|---|---|
SVRegression |
clone()
Clones an
SVRegression predictive model. |
double |
getInsensitivityBand()
Returns the insensitivity band parameter,
\(\epsilon\), in the standard formulation of the SVM
regression problem.
|
protected SVModel |
optimize(DataNode[][] x,
double[] y,
double[] w,
int len,
Kernel kernel)
Performs the regression support vector machine optimization problem.
|
protected double[] |
predictValues(SVModel model,
double[][] attributeData)
Generates the predicted values on the attribute data using the given
support vector machine model.
|
protected void |
setConfiguration(PredictiveModel pm)
Sets the configuration to that of the input
PredictiveModel. |
void |
setInsensitivityBand(double epsilon)
Sets the insensitivity band parameter, \(\epsilon\), in
the standard formulation of the SVM regression problem.
|
fitModel, getConvergenceTolerance, getKernel, getKernelParameters, getModel, getNuParameter, getRegularizationParameter, getWorkingArraySize, isNuFormulation, isProbability, isShrinking, predict, predict, setConvergenceTolerance, setKernel, setKernelParameters, setNuFormulation, setNuParameter, setProbability, setRegularizationParameter, setShrinking, setWorkArraySizegetClassCounts, getClassErrors, getClassLabels, getClassProbabilities, getCostMatrix, getMaxNumberOfCategories, getMaxNumberOfIterations, getNumberOfClasses, getNumberOfColumns, getNumberOfMissing, getNumberOfPredictors, getNumberOfRows, getNumberOfUniquePredictorValues, getPredictorIndexes, getPredictorTypes, getPrintLevel, getPriorProbabilities, getRandomObject, getResponseColumnIndex, getResponseVariableAverage, getResponseVariableMostFrequentClass, getResponseVariableType, getTotalWeight, getVariableType, getWeights, getXY, isConstantSeries, isMustFitModel, isUserFixedNClasses, predict, setClassCounts, setClassLabels, setClassProbabilities, setCostMatrix, setMaxNumberOfCategories, setMaxNumberOfIterations, setMustFitModel, setNumberOfClasses, setPredictorIndex, setPredictorTypes, setPrintLevel, setPriorProbabilities, setRandomObject, setResponseColumnIndex, setTrainingData, setVariableType, setWeightspublic SVRegression(double[][] xy,
int responseColumnIndex,
PredictiveModel.VariableType[] varType)
xy - a double matrix containing the training data and
associated response valuesresponseColumnIndex - an int specifying the column
index of the response variablevarType - a PredictiveModel.VariableType array of
length equal to xy[0].length containing the type of each
variablepublic SVRegression(SVRegression svrModel)
SVRegression predictive model.svrModel - an SVRegression predictive modelpublic SVRegression(double[][] xy,
int responseColumnIndex,
PredictiveModel.VariableType[] varType,
Kernel k)
xy - a double matrix containing the training data and
associated response valuesresponseColumnIndex - an int specifying the column
index of the response variablevarType - a PredictiveModel.VariableType array of
length equal to xy[0].length containing the type of each
variablek - a Kernel, the kernel functionpublic SVRegression clone()
SVRegression predictive model.clone in class PredictiveModelSVRegression predictive modelprotected final void setConfiguration(PredictiveModel pm)
PredictiveModel.
Note that the input PredictiveModel object must be the same
subclass of PredictiveModel as is this instance.
setConfiguration in class SupportVectorMachinepm - a SVRegression instance
Default: The class uses its default configuration as described in the different methods.
public double getInsensitivityBand()
double, the value of the insensitivity band
parameterpublic void setInsensitivityBand(double epsilon)
epsilon - a double > 0.0, the value of the
infeasibility band parameter
Default: epsilon=0.1
protected SVModel optimize(DataNode[][] x, double[] y, double[] w, int len, Kernel kernel) throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException
optimize in class SupportVectorMachinex - a DataNode matrix containing the attribute datay - a double array containing the response variablelen - an int, the total possible number of support
vectorsw - a double array containing the observation weightskernel - a Kernel objectSVModel structure containing the fitted modelNoSuchMethodException - thrown when a particular method
cannot be foundInstantiationException - thrown when an application tries
to create an instance of a class using the newInstance
method in class Class, but the specified class object cannot
be instantiatedIllegalAccessException - thrown when an application tries
to reflectively create an instance (other than an array), set or get a
field, or invoke a method, but the currently executing method does not
have access to the definition of the specified class, field, method or
constructorInvocationTargetException - a checked exception
that wraps an exception thrown by an invoked method or constructorprotected double[] predictValues(SVModel model, double[][] attributeData) throws PredictiveModel.SumOfProbabilitiesNotOneException
predictValues in class SupportVectorMachinemodel - a fitted SVModel objectattributeData - a double matrix containing the
attribute (or predictor) datadouble array containing the predictions for each
row in the input attribute dataPredictiveModel.SumOfProbabilitiesNotOneException - the
sum of probabilities is not approximately oneCopyright © 2020 Rogue Wave Software. All rights reserved.