# RegressionTree#

Link to Algorithm description: Decision Tree

class interpret.glassbox.RegressionTree(feature_names=None, feature_types=None, max_depth=3, **kwargs)#

Regression tree with shallow depth.

Initializes tree with low depth.

Parameters:
• feature_names – List of feature names.

• feature_types – List of feature types.

• max_depth – Max depth of tree.

• **kwargs – Kwargs sent to __init__() method of tree.

explain_global(name=None)#

Provides global explanation for model.

Parameters:

name – User-defined explanation name.

Returns:

An explanation object, visualizing feature-value pairs as horizontal bar chart.

explain_local(X, y=None, name=None)#

Provides local explanations for provided instances.

Parameters:
• X – Numpy array for X to explain.

• y – Numpy vector for y to explain.

• name – User-defined explanation name.

Returns:

An explanation object.

fit(X, y)#

Fits model to provided instances.

Parameters:
• X – Numpy array for training instances.

• y – Numpy array as training labels.

Returns:

Itself.

predict(X)#

Predicts on provided instances.

Parameters:

X – Numpy array for instances.

Returns:

Predicted class label per instance.

score(X, y, sample_weight=None)#

Return the coefficient of determination of the prediction.

The coefficient of determination $$R^2$$ is defined as $$(1 - \frac{u}{v})$$, where $$u$$ is the residual sum of squares ((y_true - y_pred)** 2).sum() and $$v$$ is the total sum of squares ((y_true - y_true.mean()) ** 2).sum(). The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse). A constant model that always predicts the expected value of y, disregarding the input features, would get a $$R^2$$ score of 0.0.

Parameters:
• X (array-like of shape (n_samples, n_features)) – Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape (n_samples, n_samples_fitted), where n_samples_fitted is the number of samples used in the fitting for the estimator.

• y (array-like of shape (n_samples,) or (n_samples, n_outputs)) – True values for X.

• sample_weight (array-like of shape (n_samples,), default=None) – Sample weights.

Returns:

score$$R^2$$ of self.predict(X) w.r.t. y.

Return type:

float

Notes

The $$R^2$$ score used when calling score on a regressor uses multioutput='uniform_average' from version 0.23 to keep consistent with default value of r2_score(). This influences the score method of all the multioutput regressors (except for MultiOutputRegressor).