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