Class TimeSeriesTreeClassifier
- java.lang.Object
-
- ai.libs.jaicore.ml.tsc.classifier.ASimplifiedTSClassifier<java.lang.Integer>
-
- ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier
-
public class TimeSeriesTreeClassifier extends ASimplifiedTSClassifier<java.lang.Integer>
Time series tree as described in Deng, Houtao et al. "A Time Series Forest for Classification and Feature Extraction." Inf. Sci. 239 (2013): 142-153. This classifier only supports univariate time series prediction.
-
-
Field Summary
-
Fields inherited from class ai.libs.jaicore.ml.tsc.classifier.ASimplifiedTSClassifier
classMapper, trained
-
-
Constructor Summary
Constructors Constructor Description TimeSeriesTreeClassifier(TimeSeriesTreeLearningAlgorithm.ITimeSeriesTreeConfig config)Constructs an empty time series tree.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ai.libs.jaicore.graph.TreeNode<ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier.TimeSeriesTreeNodeDecisionFunction>decide(ai.libs.jaicore.graph.TreeNode<ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier.TimeSeriesTreeNodeDecisionFunction> treeNode, double[] instance)Function performing the decision on atreeNodegiven theinstancebased on the locally stored splitting criterion.TimeSeriesTreeLearningAlgorithmgetLearningAlgorithm(TimeSeriesDataset dataset)ai.libs.jaicore.graph.TreeNode<ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier.TimeSeriesTreeNodeDecisionFunction>getRootNode()Getter for the root node.java.lang.Integerpredict(double[] univInstance)Predicts the class of the given univariate instance by iterating through the tree starting from the root node to a leaf node to induce a class prediction.java.util.List<java.lang.Integer>predict(TimeSeriesDataset dataset)Performs predictions based on the given instances in the given dataset.java.lang.Integerpredict(java.util.List<double[]> multivInstance)Performs a prediction based on the given multivariate list of double[] instance representation and returns the result.-
Methods inherited from class ai.libs.jaicore.ml.tsc.classifier.ASimplifiedTSClassifier
checkWhetherPredictionIsPossible, getClassMapper, isTrained, setClassMapper, train
-
-
-
-
Constructor Detail
-
TimeSeriesTreeClassifier
public TimeSeriesTreeClassifier(TimeSeriesTreeLearningAlgorithm.ITimeSeriesTreeConfig config)
Constructs an empty time series tree.
-
-
Method Detail
-
getRootNode
public ai.libs.jaicore.graph.TreeNode<ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier.TimeSeriesTreeNodeDecisionFunction> getRootNode()
Getter for the root node.- Returns:
- Returns the root node of the time series tree
-
predict
public java.lang.Integer predict(double[] univInstance) throws PredictionExceptionPredicts the class of the given univariate instance by iterating through the tree starting from the root node to a leaf node to induce a class prediction.- Specified by:
predictin classASimplifiedTSClassifier<java.lang.Integer>- Parameters:
univInstance- Univariate instance to be predicted- Returns:
- Returns the result of the prediction
- Throws:
PredictionException- If something fails during the prediction process.
-
predict
public java.lang.Integer predict(java.util.List<double[]> multivInstance) throws PredictionExceptionPerforms a prediction based on the given multivariate list of double[] instance representation and returns the result.- Overrides:
predictin classASimplifiedTSClassifier<java.lang.Integer>- Parameters:
multivInstance- Multivariate instance given by a list of multiple double[] time series used for the prediction- Returns:
- Returns the result of the prediction
- Throws:
PredictionException- If something fails during the prediction process.
-
predict
public java.util.List<java.lang.Integer> predict(TimeSeriesDataset dataset) throws PredictionException
Performs predictions based on the given instances in the given dataset.- Specified by:
predictin classASimplifiedTSClassifier<java.lang.Integer>- Parameters:
dataset- TheTimeSeriesDatasetfor which predictions should be made.- Returns:
- Returns the result of the predictions
- Throws:
PredictionException- If something fails during the prediction process
-
decide
public static ai.libs.jaicore.graph.TreeNode<ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier.TimeSeriesTreeNodeDecisionFunction> decide(ai.libs.jaicore.graph.TreeNode<ai.libs.jaicore.ml.tsc.classifier.trees.TimeSeriesTreeClassifier.TimeSeriesTreeNodeDecisionFunction> treeNode, double[] instance)Function performing the decision on atreeNodegiven theinstancebased on the locally stored splitting criterion.- Parameters:
treeNode- Tree node where the decision is taken placeinstance- Instance values- Returns:
- Returns the child node where the next decision can be done, null if
treeNodeis a tree node
-
getLearningAlgorithm
public TimeSeriesTreeLearningAlgorithm getLearningAlgorithm(TimeSeriesDataset dataset)
- Specified by:
getLearningAlgorithmin classASimplifiedTSClassifier<java.lang.Integer>
-
-