public override IEnumerable <Subset> GetSubsets(Batch batch, IRandom rand)
 {
     for (int i = 0; i < Size; i++)
     {
         yield return(FeatureSelector.SelectFeatures(batch.TrainInstances, rand));
     }
 }
 public override IEnumerable <Subset> GetSubsets(Batch batch, IRandom rand)
 {
     for (int i = 0; i < Size; i++)
     {
         // REVIEW: Consider ways to reintroduce "balanced" samples.
         var viewTrain = new BootstrapSampleTransform(Host, new BootstrapSampleTransform.Arguments(), Data.Data);
         var dataTrain = RoleMappedData.Create(viewTrain, Data.Schema.GetColumnRoleNames());
         yield return(FeatureSelector.SelectFeatures(dataTrain, rand));
     }
 }
        public override IEnumerable <Subset> GetSubsets(Batch batch, Random rand)
        {
            string name = Data.Data.Schema.GetTempColumnName();
            var    args = new GenerateNumberTransform.Options();

            args.Columns = new[] { new GenerateNumberTransform.Column()
                                   {
                                       Name = name
                                   } };
            args.Seed = (uint)rand.Next();
            IDataTransform view = new GenerateNumberTransform(Host, args, Data.Data);

            // REVIEW: This won't be very efficient when Size is large.
            for (int i = 0; i < Size; i++)
            {
                var viewTrain = new RangeFilter(Host, new RangeFilter.Options()
                {
                    Column = name, Min = (Double)i / Size, Max = (Double)(i + 1) / Size
                }, view);
                var dataTrain = new RoleMappedData(viewTrain, Data.Schema.GetColumnRoleNames());
                yield return(FeatureSelector.SelectFeatures(dataTrain, rand));
            }
        }