Example #1
0
 protected override ISplittingResult BuildBestSplitObject(ISplittingParams splittingParams, IList <ISplittedData> splittedData)
 {
     return(new SplittingResult(
                false,
                splittingParams.SplitOnFeature,
                splittedData));
 }
 protected override ISplittingResult BuildBestSplitObject(ISplittingParams splittingParams, IList<ISplittedData> splittedData)
 {
     return new SplittingResult(
         false,
         splittingParams.SplitOnFeature,
         splittedData);
 }
 protected override ISplittingResult BuildBestSplitObject(ISplittingParams splittingParams, IList<ISplittedData> splittedData)
 {
     var binarySplittingParams = splittingParams as IBinarySplittingParams;
     if (binarySplittingParams == null)
     {
         throw new ArgumentException("Invalid type of splitting params passed to binary split selector!");
     }
     return new BinarySplittingResult(false, binarySplittingParams.SplitOnFeature, splittedData, binarySplittingParams.SplitOnValue);
 }
 public IList<ISplittedData> SplitData(
     IDataFrame dataToSplit,
     ISplittingParams splttingParams)
 {
     if (!(splttingParams is IBinarySplittingParams))
     {
         throw new ArgumentException("Invalid splitting params passed to binary splitter");
     }
     return SplitData(dataToSplit, (IBinarySplittingParams) splttingParams);
 }
 public IList <ISplittedData> SplitData(
     IDataFrame dataToSplit,
     ISplittingParams splttingParams)
 {
     if (!(splttingParams is IBinarySplittingParams))
     {
         throw new ArgumentException("Invalid splitting params passed to binary splitter");
     }
     return(SplitData(dataToSplit, (IBinarySplittingParams)splttingParams));
 }
        protected override ISplittingResult BuildBestSplitObject(ISplittingParams splittingParams, IList <ISplittedData> splittedData)
        {
            var binarySplittingParams = splittingParams as IBinarySplittingParams;

            if (binarySplittingParams == null)
            {
                throw new ArgumentException("Invalid type of splitting params passed to binary split selector!");
            }
            return(new BinarySplittingResult(false, binarySplittingParams.SplitOnFeature, splittedData, binarySplittingParams.SplitOnValue));
        }
 public IList<ISplittedData> SplitData(IDataFrame dataToSplit, ISplittingParams splttingParams)
 {
     var splitFeature = splttingParams.SplitOnFeature;
     var totalRowsCount = dataToSplit.RowCount;
     var uniqueValues = dataToSplit.GetColumnVector(splitFeature).Distinct();
     var splittedData = new List<ISplittedData>();
     //TODO: AAA emarassingly parallel - test it for performance
     foreach (var uniqueValue in uniqueValues)
     {
         var query = BuildQuery(splitFeature, uniqueValue);
         var splitResult = dataToSplit.GetSubsetByQuery(query);
         var subsetCount = splitResult.RowCount;
         var link = new DecisionLink(
             CalcInstancesPercentage(totalRowsCount, subsetCount),
             subsetCount,
             uniqueValue);
         splittedData.Add(new SplittedData(link, splitResult));
     }
     return splittedData;
 }
Example #8
0
        public IList <ISplittedData> SplitData(IDataFrame dataToSplit, ISplittingParams splttingParams)
        {
            var splitFeature   = splttingParams.SplitOnFeature;
            var totalRowsCount = dataToSplit.RowCount;
            var uniqueValues   = dataToSplit.GetColumnVector(splitFeature).Distinct();
            var splittedData   = new List <ISplittedData>();

            //TODO: AAA emarassingly parallel - test it for performance
            foreach (var uniqueValue in uniqueValues)
            {
                var query       = BuildQuery(splitFeature, uniqueValue);
                var splitResult = dataToSplit.GetSubsetByQuery(query);
                var subsetCount = splitResult.RowCount;
                var link        = new DecisionLink(
                    CalcInstancesPercentage(totalRowsCount, subsetCount),
                    subsetCount,
                    uniqueValue);
                splittedData.Add(new SplittedData(link, splitResult));
            }
            return(splittedData);
        }
Example #9
0
 protected override void UpdateAlreadyUsedAttributes(ISplittingParams splittingParams, IAlredyUsedAttributesInfo alreadyUsedAttributesInfo)
 {
     alreadyUsedAttributesInfo.AddAlreadyUsedAttribute(splittingParams.SplitOnFeature);
 }
 protected override void UpdateAlreadyUsedAttributes(ISplittingParams splittingParams, IAlredyUsedAttributesInfo alreadyUsedAttributesInfo)
 {
     alreadyUsedAttributesInfo.AddAlreadyUsedAttribute(splittingParams.SplitOnFeature);
 }
 protected override void UpdateAlreadyUsedAttributes(ISplittingParams splittingParams, IAlredyUsedAttributesInfo alreadyUsedAttributesInfo)
 {
     var binarySplittingParams = splittingParams as IBinarySplittingParams;
     alreadyUsedAttributesInfo.AddAlreadyUsedAttribute(splittingParams.SplitOnFeature, binarySplittingParams.SplitOnValue);
 }
Example #12
0
 protected abstract void UpdateAlreadyUsedAttributes(
     ISplittingParams splittingParams,
     IAlredyUsedAttributesInfo alreadyUsedAttributesInfo);
Example #13
0
 protected abstract ISplittingResult BuildBestSplitObject(
     ISplittingParams splittingParams,
     IList <ISplittedData> splittedData);
 protected abstract ISplittingResult BuildBestSplitObject(
     ISplittingParams splittingParams,
     IList<ISplittedData> splittedData);
 protected abstract void UpdateAlreadyUsedAttributes(
     ISplittingParams splittingParams,
     IAlredyUsedAttributesInfo alreadyUsedAttributesInfo);
        protected override void UpdateAlreadyUsedAttributes(ISplittingParams splittingParams, IAlredyUsedAttributesInfo alreadyUsedAttributesInfo)
        {
            var binarySplittingParams = splittingParams as IBinarySplittingParams;

            alreadyUsedAttributesInfo.AddAlreadyUsedAttribute(splittingParams.SplitOnFeature, binarySplittingParams.SplitOnValue);
        }