art.estimators.regression.scikitlearn

This module implements the regressors for scikit-learn models.

Base Class Scikit-learn

class art.estimators.regression.scikitlearn.ScikitlearnRegressor(model: sklearn.base.BaseEstimator, clip_values: Optional[CLIP_VALUES_TYPE] = None, preprocessing_defences: Optional[Union[Preprocessor, List[Preprocessor]]] = None, postprocessing_defences: Optional[Union[Postprocessor, List[Postprocessor]]] = None, preprocessing: PREPROCESSING_TYPE = (0.0, 1.0))

Wrapper class for scikit-learn regression models.

clone_for_refitting() ScikitlearnRegressor

Create a copy of the classifier that can be refit from scratch.

Returns

new estimator

compute_loss(x: ndarray, y: ndarray, **kwargs) ndarray

Compute the MSE loss of the regressor for samples x.

Return type

ndarray

Parameters
  • x (ndarray) – Input samples.

  • y (ndarray) – Target values.

Returns

Loss values.

compute_loss_from_predictions(pred: ndarray, y: ndarray, **kwargs) ndarray

Compute the MSE loss of the regressor for predictions pred.

Return type

ndarray

Parameters
  • pred (ndarray) – Model predictions.

  • y (ndarray) – Target values.

Returns

Loss values.

fit(x: ndarray, y: ndarray, **kwargs) None

Fit the regressor on the training set (x, y).

Parameters
  • x (ndarray) – Training data.

  • y (ndarray) – Target values.

  • kwargs – Dictionary of framework-specific arguments. These should be parameters supported by the fit function in sklearn regressor and will be passed to this function as such.

property input_shape: Tuple[int, ...]

Return the shape of one input sample.

Returns

Shape of one input sample.

predict(x: ndarray, **kwargs) ndarray

Perform prediction for a batch of inputs.

Return type

ndarray

Parameters

x (ndarray) – Input samples.

Returns

Array of predictions.

Raises

ValueError – If the regressor does not have the method predict

reset() None

Resets the weights of the classifier so that it can be refit from scratch.

save(filename: str, path: Optional[str] = None) None

Save a model to file in the format specific to the backend framework.

Parameters
  • filename (str) – Name of the file where to store the model.

  • path – Path of the folder where to store the model. If no path is specified, the model will be stored in the default data location of the library ART_DATA_PATH.

Scikit-learn Decision Tree Regressor

class art.estimators.regression.scikitlearn.ScikitlearnDecisionTreeRegressor(model: sklearn.tree.DecisionTreeRegressor, clip_values: Optional[CLIP_VALUES_TYPE] = None, preprocessing_defences: Optional[Union[Preprocessor, List[Preprocessor]]] = None, postprocessing_defences: Optional[Union[Postprocessor, List[Postprocessor]]] = None, preprocessing: PREPROCESSING_TYPE = (0.0, 1.0))

Wrapper class for scikit-learn Decision Tree Regressor models.

__init__(model: sklearn.tree.DecisionTreeRegressor, clip_values: Optional[CLIP_VALUES_TYPE] = None, preprocessing_defences: Optional[Union[Preprocessor, List[Preprocessor]]] = None, postprocessing_defences: Optional[Union[Postprocessor, List[Postprocessor]]] = None, preprocessing: PREPROCESSING_TYPE = (0.0, 1.0)) None

Create a Regressor instance from a scikit-learn Decision Tree Regressor model.

Parameters
  • model – scikit-learn Decision Tree Regressor model.

  • clip_values – Tuple of the form (min, max) representing the minimum and maximum values allowed for features.

  • preprocessing_defences – Preprocessing defence(s) to be applied by the classifier.

  • postprocessing_defences – Postprocessing defence(s) to be applied by the classifier.

  • preprocessing – Tuple of the form (subtrahend, divisor) of floats or np.ndarray of values to be used for data preprocessing. The first value will be subtracted from the input. The input will then be divided by the second one.

property clip_values: Optional[CLIP_VALUES_TYPE]

Return the clip values of the input samples.

Returns

Clip values (min, max).

clone_for_refitting() ScikitlearnRegressor

Create a copy of the classifier that can be refit from scratch.

Returns

new estimator

compute_loss(x: ndarray, y: ndarray, **kwargs) ndarray

Compute the MSE loss of the regressor for samples x.

Return type

ndarray

Parameters
  • x (ndarray) – Input samples.

  • y (ndarray) – Target values.

Returns

Loss values.

compute_loss_from_predictions(pred: ndarray, y: ndarray, **kwargs) ndarray

Compute the MSE loss of the regressor for predictions pred.

Return type

ndarray

Parameters
  • pred (ndarray) – Model predictions.

  • y (ndarray) – Target values.

Returns

Loss values.

fit(x: ndarray, y: ndarray, **kwargs) None

Fit the regressor on the training set (x, y).

Parameters
  • x (ndarray) – Training data.

  • y (ndarray) – Target values.

  • kwargs – Dictionary of framework-specific arguments. These should be parameters supported by the fit function in sklearn regressor and will be passed to this function as such.

get_decision_path(x: ndarray) ndarray

Returns the path through nodes in the tree when classifying x. Last one is leaf, first one root node.

Returns

The indices of the nodes in the array structure of the tree.

get_feature_at_node(node_id: int) int

Returns the feature of given id for a node.

Returns

Feature index of feature split in this node.

get_left_child(node_id: int) int

Returns the id of the left child node of node_id.

Returns

The indices of the left child in the tree.

get_params() Dict[str, Any]

Get all parameters and their values of this estimator.

Returns

A dictionary of string parameter names to their value.

get_right_child(node_id: int) int

Returns the id of the right child node of node_id.

Returns

The indices of the right child in the tree.

get_samples_at_node(node_id: int) int

Returns the number of training samples mapped to a node.

Returns

Number of samples mapped this node.

get_threshold_at_node(node_id: int) float

Returns the threshold of given id for a node.

Returns

Threshold value of feature split in this node.

get_values_at_node(node_id: int) ndarray

Returns the feature of given id for a node.

Returns

Normalized values at node node_id.

property input_shape: Tuple[int, ...]

Return the shape of one input sample.

Returns

Shape of one input sample.

property model

Return the model.

Returns

The model.

predict(x: ndarray, **kwargs) ndarray

Perform prediction for a batch of inputs.

Return type

ndarray

Parameters

x (ndarray) – Input samples.

Returns

Array of predictions.

Raises

ValueError – If the regressor does not have the method predict

reset() None

Resets the weights of the classifier so that it can be refit from scratch.

save(filename: str, path: Optional[str] = None) None

Save a model to file in the format specific to the backend framework.

Parameters
  • filename (str) – Name of the file where to store the model.

  • path – Path of the folder where to store the model. If no path is specified, the model will be stored in the default data location of the library ART_DATA_PATH.

set_params(**kwargs) None

Take a dictionary of parameters and apply checks before setting them as attributes.

Parameters

kwargs – A dictionary of attributes.