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); }
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}" : "")}"); }
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); }
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); }