public static CommonOutputs.TransformOutput MinMax(IHostEnvironment env, NormalizeTransform.MinMaxArguments input)
        {
            Contracts.CheckValue(env, nameof(env));
            var host = env.Register("MinMax");

            host.CheckValue(input, nameof(input));
            EntryPointUtils.CheckInputArgs(host, input);

            var xf = NormalizeTransform.Create(host, input, input.Data);

            return(new CommonOutputs.TransformOutput {
                Model = new TransformModel(env, xf, input.Data), OutputData = xf
            });
        }
        public static CommonOutputs.MacroOutput <CommonOutputs.TransformOutput> IfNeeded(
            IHostEnvironment env,
            NormalizeTransform.MinMaxArguments input,
            EntryPointNode node)
        {
            var    schema             = input.Data.Schema;
            DvBool isNormalized       = DvBool.False;
            var    columnsToNormalize = new List <NormalizeTransform.AffineColumn>();

            foreach (var column in input.Column)
            {
                int col;
                if (!schema.TryGetColumnIndex(column.Source, out col))
                {
                    throw env.ExceptUserArg(nameof(input.Column), $"Column '{column.Source}' does not exist.");
                }
                if (!schema.TryGetMetadata(BoolType.Instance, MetadataUtils.Kinds.IsNormalized, col, ref isNormalized) ||
                    isNormalized.IsFalse)
                {
                    columnsToNormalize.Add(column);
                }
            }

            var entryPoints = new List <EntryPointNode>();

            if (columnsToNormalize.Count == 0)
            {
                var entryPointNode = EntryPointNode.Create(env, "Transforms.NoOperation", new NopTransform.NopInput(),
                                                           node.Catalog, node.Context, node.InputBindingMap, node.InputMap, node.OutputMap);
                entryPoints.Add(entryPointNode);
            }
            else
            {
                input.Column = columnsToNormalize.ToArray();
                var entryPointNode = EntryPointNode.Create(env, "Transforms.MinMaxNormalizer", input,
                                                           node.Catalog, node.Context, node.InputBindingMap, node.InputMap, node.OutputMap);
                entryPoints.Add(entryPointNode);
            }

            return(new CommonOutputs.MacroOutput <CommonOutputs.TransformOutput>()
            {
                Nodes = entryPoints
            });
        }
Esempio n. 3
0
        public static void _Normalize()
        {
            var args = new NormalizeTransform.MinMaxArguments()
            {
                Columns = new[]
                {
                    NormalizeTransform.AffineColumn.Parse("A"),
                    new NormalizeTransform.AffineColumn()
                    {
                        Name = "B", Source = "B", EnsureZeroUntouched = false
                    },
                },
                EnsureZeroUntouched = true,
                MaximumExampleCount = 1000
            };

            if (args == null)
            {
                throw new Exception("No NormalizeTransform.");
            }
        }
Esempio n. 4
0
        public static void _Normalize()
        {
            var args = new NormalizeTransform.MinMaxArguments()
            {
                Column = new[]
                {
                    NormalizeTransform.AffineColumn.Parse("A"),
                    new NormalizeTransform.AffineColumn()
                    {
                        Name = "B", Source = "B", FixZero = false
                    },
                },
                FixZero             = true,
                MaxTrainingExamples = 1000
            };

            if (args == null)
            {
                throw new Exception("No NormalizeTransform.");
            }
        }