Exemplo n.º 1
0
        private List <string> nodeConnections(Node node)
        {
            List <string> new_lines = new List <string>();

            string         add_threshold = "";
            ContinuousNode cNode         = null;

            if (node is ContinuousNode)
            {
                cNode = (ContinuousNode)node;
            }
            if (cNode != null)
            {
                add_threshold = $"{cNode.threshold}";
            }
            foreach (Node child in node.getNodeChildren())
            {
                new_lines.Add($"N{node.identifier}->N{child.identifier} [label=\"{child.value_splitter} {add_threshold} \"];");
            }
            foreach (Leaf child in node.getLeafChildren())
            {
                new_lines.Add($"N{node.identifier}->L{child.identifier} [label=\"{child.value_splitter} {add_threshold} \"];");
            }

            return(new_lines);
        }
Exemplo n.º 2
0
        private static string nodeToModelLine(Node node, string sep)
        {
            ContinuousNode cNode = null;

            if (node is ContinuousNode)
            {
                cNode = (ContinuousNode)node;
            }
            string parentidentifier = (node.getParent() == null) ? "ROOT" : node.getParent().identifier;

            return($"NODE{sep}{node.identifier}{sep}{parentidentifier}{sep}{(node is ContinuousNode ? 'C' : 'N')}{sep}{node.label}{sep}{node.value_splitter}{(node is ContinuousNode ? $"{sep}{cNode.threshold}" : "")}");
        }
Exemplo n.º 3
0
        public string rule()
        {
            string rule = "";

            if (this.parent != null)
            {
                ContinuousNode cNode = null;
                if (this.parent is ContinuousNode)
                {
                    cNode = (ContinuousNode)this.parent;
                    rule  = this.value_splitter + cNode.threshold.ToString() + " : ";
                }
                else
                {
                    rule = this.value_splitter + " : ";
                }
            }
            return(rule + this.classifier);
        }
Exemplo n.º 4
0
        public virtual string rule()
        {
            string rule = "";

            if (this.getParent() != null)
            {
                ContinuousNode cNode = null;
                if (this.getParent() is ContinuousNode)
                {
                    cNode = (ContinuousNode)this.getParent();
                    rule  = this.value_splitter + cNode.threshold.ToString() + " : ";
                }
                else
                {
                    rule = this.value_splitter + " : ";
                }
            }
            return(rule + this.label);
        }
        public ContinuousNode addContinuousNode(string attribute, string value_splitter, double attribute_threshold, Node parent, string element_identifier = null)
        {
            if (element_identifier == null)
            {
                element_identifier = ElementHelper.generateElementId('N', element_counter);
            }
            ContinuousNode newnode = new ContinuousNode(element_identifier, attribute, value_splitter).setThreshold(attribute_threshold);

            if (root == null)
            {
                root = newnode;
            }
            else
            {
                parent.addChildNode(newnode);
                newnode.addParentNode(parent);
            }
            element_counter++;
            return(newnode);
        }