Get the decision from this node to a child node.

        Parameters
        ----------
        child: Node
            A child node of this node.

        Returns
        -------
        dict: A dictionary that describes how to get from this node to the
        child node.

def get_decision(self, child, is_missing = False):
        """
        Get the decision from this node to a child node.

        Parameters
        ----------
        child: Node
            A child node of this node.

        Returns
        -------
        dict: A dictionary that describes how to get from this node to the
        child node.
        """
        # Child does exist and there is a path to the child.
        value = self.value
        feature = self.split_feature_column
        index = self.split_feature_index

        if not is_missing:
            if self.left_id == child.node_id:
                if self.node_type in ["float", "integer"]:
                    sign = "<"
                else:
                    sign = "="
            else:
                if self.node_type in ["float", "integer"]:
                    sign = ">="
                else:
                    sign = "!="
        else:
            sign = "missing"
            value = None

        return {
            "node_id"    : self.node_id,
            "node_type"  : self.node_type,
            "feature"    : feature,
            "index"      : index,
            "sign"       : sign,
            "value"      : value,
            "child_id"   : child.node_id,
            "is_missing" : is_missing
        }