(
            self,
            instruction,
            preprocess=True,
            test_size=0.2,
            text=[],
            drop=None,
            criterion='gini',
            splitter='best',
            max_depth=None,
            min_samples_split=2,
            min_samples_leaf=1,
            min_weight_fraction_leaf=0.0,
            max_leaf_nodes=None,
            min_impurity_decrease=0.0,
            ccp_alpha=0.0)
Calls the body of the decision tree code in the classification_models.py file. Used to create a decision tree algorithm.
        :param instruction: The objective that you want to model (str).
        :param text: A list of columns to perform text embedding on.
        :param dataset: The dataset being used in the decision tree algorithm (str).
        :param preprocess: Preprocess the data (bool).
        :param test_size: Size of the testing set (float).
        :param drop: A list of the dataset's columns to drop.
        :param criterion: The function to measure the quality of a split (str).
        :param splitter: The technique used to choose each node's split (str).
        :param max_depth: The maximum depth of the tree (int).
        :param min_samples_split: The minimum number of samples a node must have to split (int).
        :param min_samples_leaf: The minimum number of samples a leaf node must have (int).
        :param min_weight_fraction_leaf: The fraction of the input samples required to be at a leaf node (float).
        :param max_leaf_nodes: Maximum number of leaf nodes (int).
        :param min_impurity_decrease: A node will be split if this split induces a decrease of the impurity greater than or equal
         to this value (float).
        :param ccp_alpha: Complexity parameter used for Minimal Cost-Complexity Pruning (float).


        :return: a model and information to along with it stored in the self.models dictionary.
Calls the body of the decision tree code in the classification_models.py file. Used to create a decision tree algorithm.
        :param instruction: The objective that you want to model (str).
        :param text: A list of columns to perform text embedding on.
        :param dataset: The dataset being used in the decision tree algorithm (str).
        :param preprocess: Preprocess the data (bool).
        :param test_size: Size of the testing set (float).
        :param drop: A list of the dataset's columns to drop.
        :param criterion: The function to measure the quality of a split (str).
        :param splitter: The technique used to choose each node's split (str).
        :param max_depth: The maximum depth of the tree (int).
        :param min_samples_split: The minimum number of samples a node must have to split (int).
        :param min_samples_leaf: The minimum number of samples a leaf node must have (int).
        :param min_weight_fraction_leaf: The fraction of the input samples required to be at a leaf node (float).
        :param max_leaf_nodes: Maximum number of leaf nodes (int).
        :param min_impurity_decrease: A node will be split if this split induces a decrease of the impurity greater than or equal
         to this value (float).
        :param ccp_alpha: Complexity parameter used for Minimal Cost-Complexity Pruning (float).
Calls the body of the decision tree code in the classification_models . py file . Used to create a decision tree algorithm . : param instruction : The objective that you want to model ( str ) . : param text : A list of columns to perform text embedding on . : param dataset : The dataset being used in the decision tree algorithm ( str ) . : param preprocess : Preprocess the data ( bool ) . : param test_size : Size of the testing set ( float ) . : param drop : A list of the dataset s columns to drop . : param criterion : The function to measure the quality of a split ( str ) . : param splitter : The technique used to choose each node s split ( str ) . : param max_depth : The maximum depth of the tree ( int ) . : param min_samples_split : The minimum number of samples a node must have to split ( int ) . : param min_samples_leaf : The minimum number of samples a leaf node must have ( int ) . : param min_weight_fraction_leaf : The fraction of the input samples required to be at a leaf node ( float ) . : param max_leaf_nodes : Maximum number of leaf nodes ( int ) . : param min_impurity_decrease : A node will be split if this split induces a decrease of the impurity greater than or equal to this value ( float ) . : param ccp_alpha : Complexity parameter used for Minimal Cost - Complexity Pruning ( float ) .
def decision_tree_query(
            self,
            instruction,
            preprocess=True,
            test_size=0.2,
            text=[],
            drop=None,
            criterion='gini',
            splitter='best',
            max_depth=None,
            min_samples_split=2,
            min_samples_leaf=1,
            min_weight_fraction_leaf=0.0,
            max_leaf_nodes=None,
            min_impurity_decrease=0.0,
            ccp_alpha=0.0):
        '''
        Calls the body of the decision tree code in the classification_models.py file. Used to create a decision tree algorithm.
        :param instruction: The objective that you want to model (str).
        :param text: A list of columns to perform text embedding on.
        :param dataset: The dataset being used in the decision tree algorithm (str).
        :param preprocess: Preprocess the data (bool).
        :param test_size: Size of the testing set (float).
        :param drop: A list of the dataset's columns to drop.
        :param criterion: The function to measure the quality of a split (str).
        :param splitter: The technique used to choose each node's split (str).
        :param max_depth: The maximum depth of the tree (int).
        :param min_samples_split: The minimum number of samples a node must have to split (int).
        :param min_samples_leaf: The minimum number of samples a leaf node must have (int).
        :param min_weight_fraction_leaf: The fraction of the input samples required to be at a leaf node (float).
        :param max_leaf_nodes: Maximum number of leaf nodes (int).
        :param min_impurity_decrease: A node will be split if this split induces a decrease of the impurity greater than or equal
         to this value (float).
        :param ccp_alpha: Complexity parameter used for Minimal Cost-Complexity Pruning (float).


        :return: a model and information to along with it stored in the self.models dictionary.
        '''

        self.models['decision_tree'] = decision_tree(
            instruction=instruction,
            text=text,
            dataset=self.dataset,
            preprocess=preprocess,
            test_size=test_size,
            drop=drop,
            criterion=criterion,
            splitter=splitter,
            max_depth=max_depth,
            min_samples_split=min_samples_split,
            min_samples_leaf=min_samples_leaf,
            min_weight_fraction_leaf=min_weight_fraction_leaf,
            max_leaf_nodes=max_leaf_nodes,
            min_impurity_decrease=min_impurity_decrease,
            ccp_alpha=ccp_alpha)

        self.latest_model = 'decision_tree'
        clearLog()
def decision_tree_query ( self , instruction , preprocess = True , test_size = 0.2 , text = [ ] , drop = None , criterion = 'gini' , splitter = 'best' , max_depth = None , min_samples_split = 2 , min_samples_leaf = 1 , min_weight_fraction_leaf = 0.0 , max_leaf_nodes = None , min_impurity_decrease = 0.0 , ccp_alpha = 0.0 ) : self . models [ 'decision_tree' ] = decision_tree ( instruction = instruction , text = text , dataset = self . dataset , preprocess = preprocess , test_size = test_size , drop = drop , criterion = criterion , splitter = splitter , max_depth = max_depth , min_samples_split = min_samples_split , min_samples_leaf = min_samples_leaf , min_weight_fraction_leaf = min_weight_fraction_leaf , max_leaf_nodes = max_leaf_nodes , min_impurity_decrease = min_impurity_decrease , ccp_alpha = ccp_alpha ) self . latest_model = 'decision_tree' clearLog ( )