Source code for dl85.supervised.classifiers.classifier

from sklearn.base import ClassifierMixin
from ...predictors.predictor import DL85Predictor
import json


[docs]class DL85Classifier(DL85Predictor, ClassifierMixin): """ An optimal binary decision tree classifier. Parameters ---------- max_depth : int, default=1 Maximum depth of the tree to be found min_sup : int, default=1 Minimum number of examples per leaf error_function : function, default=None User-specific error function based on transactions fast_error_function : function, default=None User-specific error function based on supports per class max_error : int, default=0 Maximum allowed error. Default value stands for no bound. If no tree can be found that is strictly better, the model remains empty. stop_after_better : bool, default=False A parameter used to indicate if the search will stop after finding a tree better than max_error time_limit : int, default=0 Allocated time in second(s) for the search. Default value stands for no limit. The best tree found within the time limit is stored, if this tree is better than max_error. verbose : bool, default=False A parameter used to switch on/off the print of what happens during the search desc : bool, default=False A parameter used to indicate if the sorting of the items is done in descending order of information gain asc : bool, default=False A parameter used to indicate if the sorting of the items is done in ascending order of information gain repeat_sort : bool, default=False A parameter used to indicate whether the sorting of items is done at each level of the lattice or only before the search print_output : bool, default=False A parameter used to indicate if the search output will be printed or not Attributes ---------- tree_ : str Outputted tree in serialized form; remains empty as long as no model is learned. size_ : int The size of the outputted tree depth_ : int Depth of the found tree error_ : float Error of the found tree accuracy_ : float Accuracy of the found tree on training set lattice_size_ : int The number of nodes explored before found the optimal tree runtime_ : float Time of the optimal decision tree search timeout_ : bool Whether the search reached timeout or not classes_ : ndarray, shape (n_classes,) The classes seen at :meth:`fit`. """ def __init__( self, max_depth=1, min_sup=1, error_function=None, fast_error_function=None, max_error=0, stop_after_better=False, time_limit=0, verbose=False, desc=False, asc=False, repeat_sort=False, quiet=True, print_output=False): DL85Predictor.__init__(self, max_depth=max_depth, min_sup=min_sup, error_function=error_function, fast_error_function=fast_error_function, max_error=max_error, stop_after_better=stop_after_better, time_limit=time_limit, verbose=verbose, desc=desc, asc=asc, repeat_sort=repeat_sort, leaf_value_function=None, quiet=quiet, print_output=print_output)
[docs] def fit(self, X, y=None, sample_weight=None): if sample_weight is None: return DL85Predictor.fit(self, X, y) else: self.sample_weight = sample_weight return DL85Predictor.fit(self, X, y)