public class STGD extends BaseUpdateableClassifier implements UpdateableRegressor, BinaryScoreClassifier, Parameterized, SingleWeightVectorModel
gravity
parameter, but other parameters
contribute to the level of sparsity.
Modifier | Constructor and Description |
---|---|
|
STGD(int K,
double learningRate,
double threshold,
double gravity)
Creates a new STGD learner
|
protected |
STGD(STGD toCopy)
Copy constructor
|
Modifier and Type | Method and Description |
---|---|
CategoricalResults |
classify(DataPoint data)
Performs classification on the given data point.
|
STGD |
clone() |
double |
getBias()
Returns the bias term used for the model, or 0 of the model does not
support or was not trained with a bias term.
|
double |
getBias(int index)
Returns the bias term used with the weight vector for the given class
index.
|
double |
getGravity()
Returns the regularization parameter
|
int |
getK()
Returns the frequency of regularization application
|
double |
getLearningRate()
Returns the learning rate to use
|
Parameter |
getParameter(String paramName)
Returns the parameter with the given name.
|
List<Parameter> |
getParameters()
Returns the list of parameters that can be altered for this learner.
|
Vec |
getRawWeight()
Returns the only weight vector used for the model
|
Vec |
getRawWeight(int index)
Returns the raw weight vector associated with the given class index.
|
double |
getScore(DataPoint dp)
Returns the numeric score for predicting a class of a given data point,
where the sign of the value indicates which class the data point is
predicted to belong to.
|
double |
getThreshold()
Returns the coefficient threshold parameter
|
int |
numWeightsVecs()
Returns the number of weight vectors that can be returned.
|
double |
regress(DataPoint data) |
void |
setGravity(double gravity)
Sets the gravity regularization parameter that "weighs down" the
coefficient values.
|
void |
setK(int K)
Sets the frequency of applying the
gravity
parameter to the weight vector. |
void |
setLearningRate(double learningRate)
Sets the learning rate to use
|
void |
setThreshold(double threshold)
Sets the threshold for a coefficient value to avoid regularization.
|
void |
setUp(CategoricalData[] categoricalAttributes,
int numericAttributes)
Prepares the classifier to begin learning from its
UpdateableRegressor.update(jsat.classifiers.DataPoint, double) method. |
void |
setUp(CategoricalData[] categoricalAttributes,
int numericAttributes,
CategoricalData predicting)
Prepares the classifier to begin learning from its
UpdateableClassifier.update(jsat.classifiers.DataPoint, int) method. |
boolean |
supportsWeightedData()
Indicates whether the model knows how to train using weighted data points.
|
void |
train(RegressionDataSet dataSet) |
void |
train(RegressionDataSet dataSet,
ExecutorService threadPool) |
void |
update(DataPoint dataPoint,
double y)
Updates the classifier by giving it a new data point to learn from.
|
void |
update(DataPoint dataPoint,
int targetClass)
Updates the classifier by giving it a new data point to learn from.
|
getEpochs, setEpochs, trainC, trainC, trainEpochs
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
trainC, trainC
public STGD(int K, double learningRate, double threshold, double gravity)
K
- the regularization frequencylearningRate
- the learning rate to usethreshold
- the regularization thresholdgravity
- the regularization parameterprotected STGD(STGD toCopy)
toCopy
- the object to copypublic void setK(int K)
gravity
parameter to the weight vector. This value must be positive, and the
gravity will be applied every K updates. Increasing this value
encourages greater sparsity.K
- the frequency to apply regularization in [1, Infinity )public int getK()
public void setLearningRate(double learningRate)
learningRate
- the learning rate > 0.public double getLearningRate()
public void setThreshold(double threshold)
threshold
- the coefficient regularization threshold in
( 0, Infinity ]public double getThreshold()
public void setGravity(double gravity)
gravity
- the regularization parameter in ( 0, Infinity )public double getGravity()
public Vec getRawWeight()
SingleWeightVectorModel
getRawWeight
in interface SingleWeightVectorModel
public double getBias()
SingleWeightVectorModel
getBias
in interface SingleWeightVectorModel
public Vec getRawWeight(int index)
SimpleWeightVectorModel
ConstantVector
object may be returned. index = 0
should be usedgetRawWeight
in interface SimpleWeightVectorModel
index
- the class index to get the weight vector forpublic double getBias(int index)
SimpleWeightVectorModel
0
will be returned.index = 0
should be usedgetBias
in interface SimpleWeightVectorModel
index
- the class index to get the weight vector forpublic int numWeightsVecs()
SimpleWeightVectorModel
numWeightsVecs
in interface SimpleWeightVectorModel
SimpleWeightVectorModel.getRawWeight(int)
can be called.public STGD clone()
clone
in interface BinaryScoreClassifier
clone
in interface Classifier
clone
in interface UpdateableClassifier
clone
in interface Regressor
clone
in interface UpdateableRegressor
clone
in class BaseUpdateableClassifier
public void setUp(CategoricalData[] categoricalAttributes, int numericAttributes, CategoricalData predicting)
UpdateableClassifier
UpdateableClassifier.update(jsat.classifiers.DataPoint, int)
method.setUp
in interface UpdateableClassifier
categoricalAttributes
- an array containing the categorical
attributes that will be in each data pointnumericAttributes
- the number of numeric attributes that will be in
each data pointpredicting
- the information for the target class that will be
predictedpublic void setUp(CategoricalData[] categoricalAttributes, int numericAttributes)
UpdateableRegressor
UpdateableRegressor.update(jsat.classifiers.DataPoint, double)
method.setUp
in interface UpdateableRegressor
categoricalAttributes
- an array containing the categorical
attributes that will be in each data pointnumericAttributes
- the number of numeric attributes that will be in
each data pointpublic void train(RegressionDataSet dataSet, ExecutorService threadPool)
public void train(RegressionDataSet dataSet)
public void update(DataPoint dataPoint, int targetClass)
UpdateableClassifier
update
in interface UpdateableClassifier
dataPoint
- the data point to learntargetClass
- the target class of the data pointpublic void update(DataPoint dataPoint, double y)
UpdateableRegressor
update
in interface UpdateableRegressor
dataPoint
- the data point to learny
- the target value of the data pointpublic CategoricalResults classify(DataPoint data)
Classifier
classify
in interface Classifier
data
- the data point to classifypublic boolean supportsWeightedData()
Classifier
supportsWeightedData
in interface Classifier
supportsWeightedData
in interface Regressor
public double getScore(DataPoint dp)
BinaryScoreClassifier
getScore
in interface BinaryScoreClassifier
dp
- the data point to predict the class label ofpublic List<Parameter> getParameters()
Parameterized
getParameters
in interface Parameterized
public Parameter getParameter(String paramName)
Parameterized
getParameter
in interface Parameterized
paramName
- the name of the parameter to obtainCopyright © 2017. All rights reserved.