decision_tree_regressor#

Provides a decision tree regressor for prediction.

class Criterion(value)#

Bases: Enum

The function to measure the quality of a split.

absolute_error = 'absolute_error'#

mean absolute error for the mean absolute error, which minimizes the L1 loss using the median of each terminal node.

friedman_mse = 'friedman_mse'#

Mean squared error with Friedman’s improvement score, which uses mean squared error with Friedman’s improvement score for potential splits.

poisson = 'poisson'#

reduction in Poisson deviance.

squared_error = 'squared_error'#

Mean squared error, which is equal to variance reduction as feature selection criterion and minimizes the L2 loss using the mean of each terminal node.

class DecisionTreeRegressorConfig(name: str = 'Decision Tree Regressor', normalize: bool = True, criterion: Criterion = Criterion.squared_error, splitter: Splitter = Splitter.best)#

Bases: SkLearnModelConfig

Defines the configuration for the DecisionTreeRegressor.

name#

name of the model.

Type:

str

criterion#

the function to measure the quality of a split.

Type:

simba_ml.prediction.time_series.models.sk_learn.decision_tree_regressor.Criterion

splitter#

the strategy used to choose the split at each node.

Type:

simba_ml.prediction.time_series.models.sk_learn.decision_tree_regressor.Splitter

class DecisionTreeRegressorModel(time_series_params: TimeSeriesConfig, model_params: DecisionTreeRegressorConfig)#

Bases: SkLearnModel

Defines a decisision tree regressor model for predictions.

Initializes the configuration for the DecisionTreeRegressor.

Parameters:
  • time_series_params – Time-series parameters that affect the training and architecture of models

  • model_params – configuration for the model.

get_model(model_params: DecisionTreeRegressorConfig) BaseEstimator#

Returns the model.

Parameters:

model_params – configuration for the model.

Returns:

The model.

property name: str#

Returns the models name.

Returns:

The models name.

predict(data: ndarray[Any, dtype[float64]]) ndarray[Any, dtype[float64]]#

Predicts the next time steps.

Parameters:

data – 3 dimensional numpy array.

Returns:

The predicted next time steps.

train(train: list[numpy.ndarray[Any, numpy.dtype[numpy.float64]]]) None#

Trains the model with the train data flattened to two dimensions.

Parameters:

train – training data.

validate_prediction_input(data: ndarray[Any, dtype[float64]]) None#

Validates the input of the predict function.

Parameters:

data – a single dataframe containing the input data, where the output will be predicted.

Raises:

ValueError – if data has incorrect shape (row length does not equal )

class Splitter(value)#

Bases: Enum

The strategy used to choose the split at each node.

best = 'best'#

Chooses always the best split.

random = 'random'#

Choose randomly from the distribution of the used criterion.