protected virtual void AddLeafFromSplit(
            string dependentFeatureName,
            IDecisionTreeModelBuilderParams additionalParams,
            ISplittedData splitData,
            IDataFrame baseData,
            ConcurrentDictionary <IDecisionTreeLink, IDecisionTreeNode> children)
        {
            var leafNode = BuildLeaf(baseData, dependentFeatureName);
            var link     = splitData.SplitLink;

            children.TryAdd(link, leafNode);
        }
        protected virtual void AddChildFromSplit(
            string dependentFeatureName,
            IDecisionTreeModelBuilderParams additionalParams,
            ISplittedData splitData,
            ConcurrentDictionary <IDecisionTreeLink, IDecisionTreeNode> children,
            IAlredyUsedAttributesInfo alreadyUsedAttributesInfo,
            int treeDepth)
        {
            var decisionTreeNode = BuildDecisionNode(
                splitData.SplittedDataFrame,
                dependentFeatureName,
                additionalParams,
                alreadyUsedAttributesInfo,
                treeDepth);
            var link = splitData.SplitLink;

            children.TryAdd(link, decisionTreeNode);
        }
 protected virtual void AddChildFromSplit(
     string dependentFeatureName, 
     IDecisionTreeModelBuilderParams additionalParams, 
     ISplittedData splitData, 
     ConcurrentDictionary<IDecisionTreeLink, IDecisionTreeNode> children, 
     IAlredyUsedAttributesInfo alreadyUsedAttributesInfo,
     int treeDepth)
 {
     var decisionTreeNode = BuildDecisionNode(
         splitData.SplittedDataFrame,
         dependentFeatureName,
         additionalParams,
         alreadyUsedAttributesInfo,
         treeDepth);
     var link = splitData.SplitLink;
     children.TryAdd(link, decisionTreeNode);
 }
 protected virtual void AddLeafFromSplit(
     string dependentFeatureName, 
     IDecisionTreeModelBuilderParams additionalParams, 
     ISplittedData splitData, 
     IDataFrame baseData, 
     ConcurrentDictionary<IDecisionTreeLink, IDecisionTreeNode> children)
 {
     var leafNode = BuildLeaf(baseData, dependentFeatureName);
     var link = splitData.SplitLink;
     children.TryAdd(link, leafNode);
 }