RuleTree.evaluation.evaluate_interpretability

RuleTree.evaluation.evaluate_interpretability#

evaluate_interpretability(model) → dict[source]#

Size of a fitted RuleTree or scikit-learn decision tree: the fewer leaves and the shallower the tree, the shorter its rules.

Parameters:

model (RuleTree or sklearn.tree.BaseDecisionTree) – Fitted tree.

Returns:

scores – n_leaves (number of rules), n_internal_nodes (number of splits) and max_depth (length of the longest rule; the root has depth 0). Empty for other models.

Return type:

dict

Examples

>>> from sklearn.datasets import load_iris
>>> from RuleTree import RuleTreeClassifier
>>> from RuleTree.evaluation import evaluate_interpretability
>>> X, y = load_iris(return_X_y=True)
>>> evaluate_interpretability(RuleTreeClassifier(max_depth=3, random_state=0).fit(X, y))
{'n_leaves': 5, 'n_internal_nodes': 4, 'max_depth': 3}