From 75cd2339b5c214a2b34f6ab5a7235b7e21c921a1 Mon Sep 17 00:00:00 2001 From: Senja Filipi Date: Fri, 9 Nov 2018 13:05:07 -0800 Subject: [PATCH 1/4] more transform => transformer renaming --- src/Microsoft.ML.Legacy/CSharpApi.cs | 48 +++++------ .../ExtensionsCatalog.cs | 6 +- ....cs => MissingValueDroppingTransformer.cs} | 22 ++--- ....cs => MissingValueHandlingTransformer.cs} | 16 ++-- ...eTransform.cs => MissingValueReplacing.cs} | 74 ++++++++--------- ...Utils.cs => MissingValueReplacingUtils.cs} | 2 +- src/Microsoft.ML.Transforms/NAHandling.cs | 32 ++++---- .../ProjectionCatalog.cs | 12 +-- ...ansform.cs => RandomFourierFeaturizing.cs} | 50 +++++------ ...pTransform.cs => TermLookupTransformer.cs} | 20 ++--- .../Text/WordBagTransform.cs | 8 +- .../Text/WordHashBagTransform.cs | 6 +- ...iteningTransform.cs => VectorWhitening.cs} | 82 +++++++++---------- .../Common/EntryPoints/core_ep-list.tsv | 6 +- .../Helpers/EnvironmentFactory.cs | 2 +- .../UnitTests/TestEntryPoints.cs | 8 +- .../Transformers/NAReplaceTests.cs | 24 +++--- .../Transformers/RffTests.cs | 8 +- 18 files changed, 213 insertions(+), 213 deletions(-) rename src/Microsoft.ML.Transforms/{NADropTransform.cs => MissingValueDroppingTransformer.cs} (90%) rename src/Microsoft.ML.Transforms/{NAHandleTransform.cs => MissingValueHandlingTransformer.cs} (89%) rename src/Microsoft.ML.Transforms/{NAReplaceTransform.cs => MissingValueReplacing.cs} (91%) rename src/Microsoft.ML.Transforms/{NAReplaceUtils.cs => MissingValueReplacingUtils.cs} (99%) rename src/Microsoft.ML.Transforms/{RffTransform.cs => RandomFourierFeaturizing.cs} (92%) rename src/Microsoft.ML.Transforms/{TermLookupTransform.cs => TermLookupTransformer.cs} (96%) rename src/Microsoft.ML.Transforms/{WhiteningTransform.cs => VectorWhitening.cs} (92%) diff --git a/src/Microsoft.ML.Legacy/CSharpApi.cs b/src/Microsoft.ML.Legacy/CSharpApi.cs index 455ab1a512..94db1a11f7 100644 --- a/src/Microsoft.ML.Legacy/CSharpApi.cs +++ b/src/Microsoft.ML.Legacy/CSharpApi.cs @@ -14781,7 +14781,7 @@ public MinMaxNormalizerPipelineStep(Output output) namespace Legacy.Transforms { - public enum NAHandleTransformReplacementKind : byte + public enum MissingValueHandlingTransformerReplacementKind : byte { DefaultValue = 0, Mean = 1, @@ -14790,12 +14790,12 @@ public enum NAHandleTransformReplacementKind : byte } - public sealed partial class NAHandleTransformColumn : OneToOneColumn, IOneToOneColumn + public sealed partial class MissingValueHandlingTransformerColumn : OneToOneColumn, IOneToOneColumn { /// /// The replacement method to utilize /// - public NAHandleTransformReplacementKind? Kind { get; set; } + public MissingValueHandlingTransformerReplacementKind? Kind { get; set; } /// /// Whether to impute values by slot @@ -14852,15 +14852,15 @@ public MissingValueHandler(params (string inputColumn, string outputColumn)[] in public void AddColumn(string inputColumn) { - var list = Column == null ? new List() : new List(Column); - list.Add(OneToOneColumn.Create(inputColumn)); + var list = Column == null ? new List() : new List(Column); + list.Add(OneToOneColumn.Create(inputColumn)); Column = list.ToArray(); } public void AddColumn(string outputColumn, string inputColumn) { - var list = Column == null ? new List() : new List(Column); - list.Add(OneToOneColumn.Create(outputColumn, inputColumn)); + var list = Column == null ? new List() : new List(Column); + list.Add(OneToOneColumn.Create(outputColumn, inputColumn)); Column = list.ToArray(); } @@ -14868,12 +14868,12 @@ public void AddColumn(string outputColumn, string inputColumn) /// /// New column definition(s) (optional form: name:rep:src) /// - public NAHandleTransformColumn[] Column { get; set; } + public MissingValueHandlingTransformerColumn[] Column { get; set; } /// /// The replacement method to utilize /// - public NAHandleTransformReplacementKind ReplaceWith { get; set; } = NAHandleTransformReplacementKind.DefaultValue; + public MissingValueHandlingTransformerReplacementKind ReplaceWith { get; set; } = MissingValueHandlingTransformerReplacementKind.DefaultValue; /// /// Whether to impute values by slot @@ -15056,7 +15056,7 @@ public MissingValueIndicatorPipelineStep(Output output) namespace Legacy.Transforms { - public sealed partial class NADropTransformColumn : OneToOneColumn, IOneToOneColumn + public sealed partial class MissingValueDroppingTransformerColumn : OneToOneColumn, IOneToOneColumn { /// /// Name of the new column @@ -15103,15 +15103,15 @@ public MissingValuesDropper(params (string inputColumn, string outputColumn)[] i public void AddColumn(string inputColumn) { - var list = Column == null ? new List() : new List(Column); - list.Add(OneToOneColumn.Create(inputColumn)); + var list = Column == null ? new List() : new List(Column); + list.Add(OneToOneColumn.Create(inputColumn)); Column = list.ToArray(); } public void AddColumn(string outputColumn, string inputColumn) { - var list = Column == null ? new List() : new List(Column); - list.Add(OneToOneColumn.Create(outputColumn, inputColumn)); + var list = Column == null ? new List() : new List(Column); + list.Add(OneToOneColumn.Create(outputColumn, inputColumn)); Column = list.ToArray(); } @@ -15119,7 +15119,7 @@ public void AddColumn(string outputColumn, string inputColumn) /// /// Columns to drop the NAs for /// - public NADropTransformColumn[] Column { get; set; } + public MissingValueDroppingTransformerColumn[] Column { get; set; } /// /// Input dataset @@ -15242,7 +15242,7 @@ public MissingValuesRowDropperPipelineStep(Output output) namespace Legacy.Transforms { - public enum NAReplaceTransformReplacementKind : byte + public enum MissingValueReplacingTransformerReplacementKind : byte { DefaultValue = 0, Mean = 1, @@ -15252,7 +15252,7 @@ public enum NAReplaceTransformReplacementKind : byte } - public sealed partial class NAReplaceTransformColumn : OneToOneColumn, IOneToOneColumn + public sealed partial class MissingValueReplacingTransformerColumn : OneToOneColumn, IOneToOneColumn { /// /// Replacement value for NAs (uses default value if not given) @@ -15262,7 +15262,7 @@ public sealed partial class NAReplaceTransformColumn : OneToOneColumn /// The replacement method to utilize /// - public NAReplaceTransformReplacementKind? Kind { get; set; } + public MissingValueReplacingTransformerReplacementKind? Kind { get; set; } /// /// Whether to impute values by slot @@ -15314,15 +15314,15 @@ public MissingValueSubstitutor(params (string inputColumn, string outputColumn)[ public void AddColumn(string inputColumn) { - var list = Column == null ? new List() : new List(Column); - list.Add(OneToOneColumn.Create(inputColumn)); + var list = Column == null ? new List() : new List(Column); + list.Add(OneToOneColumn.Create(inputColumn)); Column = list.ToArray(); } public void AddColumn(string outputColumn, string inputColumn) { - var list = Column == null ? new List() : new List(Column); - list.Add(OneToOneColumn.Create(outputColumn, inputColumn)); + var list = Column == null ? new List() : new List(Column); + list.Add(OneToOneColumn.Create(outputColumn, inputColumn)); Column = list.ToArray(); } @@ -15330,12 +15330,12 @@ public void AddColumn(string outputColumn, string inputColumn) /// /// New column definition(s) (optional form: name:rep:src) /// - public NAReplaceTransformColumn[] Column { get; set; } + public MissingValueReplacingTransformerColumn[] Column { get; set; } /// /// The replacement method to utilize /// - public NAReplaceTransformReplacementKind ReplacementKind { get; set; } = NAReplaceTransformReplacementKind.DefaultValue; + public MissingValueReplacingTransformerReplacementKind ReplacementKind { get; set; } = MissingValueReplacingTransformerReplacementKind.DefaultValue; /// /// Whether to impute values by slot diff --git a/src/Microsoft.ML.Transforms/ExtensionsCatalog.cs b/src/Microsoft.ML.Transforms/ExtensionsCatalog.cs index 2ece80109a..9c43b0a672 100644 --- a/src/Microsoft.ML.Transforms/ExtensionsCatalog.cs +++ b/src/Microsoft.ML.Transforms/ExtensionsCatalog.cs @@ -41,11 +41,11 @@ public static class MissingValueReplacerCatalog /// The name of the input column. /// The optional name of the output column, /// If not provided, the will be replaced with the results of the transforms. - /// The type of replacement to use as specified in + /// The type of replacement to use as specified in public static MissingValueReplacingEstimator ReplaceMissingValues(this TransformsCatalog catalog, string inputColumn, string outputColumn = null, - NAReplaceTransform.ColumnInfo.ReplacementMode replacementKind = MissingValueReplacingEstimator.Defaults.ReplacementMode) + MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementKind = MissingValueReplacingEstimator.Defaults.ReplacementMode) => new MissingValueReplacingEstimator(CatalogUtils.GetEnvironment(catalog), inputColumn, outputColumn, replacementKind); /// @@ -53,7 +53,7 @@ public static MissingValueReplacingEstimator ReplaceMissingValues(this Transform /// /// The transform's catalog. /// The name of the columns to use, and per-column transformation configuraiton. - public static MissingValueReplacingEstimator ReplaceMissingValues(this TransformsCatalog catalog, params NAReplaceTransform.ColumnInfo[] columns) + public static MissingValueReplacingEstimator ReplaceMissingValues(this TransformsCatalog catalog, params MissingValueReplacingTransformer.ColumnInfo[] columns) => new MissingValueReplacingEstimator(CatalogUtils.GetEnvironment(catalog), columns); } diff --git a/src/Microsoft.ML.Transforms/NADropTransform.cs b/src/Microsoft.ML.Transforms/MissingValueDroppingTransformer.cs similarity index 90% rename from src/Microsoft.ML.Transforms/NADropTransform.cs rename to src/Microsoft.ML.Transforms/MissingValueDroppingTransformer.cs index c045ba5d7a..910941e527 100644 --- a/src/Microsoft.ML.Transforms/NADropTransform.cs +++ b/src/Microsoft.ML.Transforms/MissingValueDroppingTransformer.cs @@ -13,16 +13,16 @@ using Microsoft.ML.Runtime.Internal.Utilities; using Microsoft.ML.Runtime.Model; -[assembly: LoadableClass(NADropTransform.Summary, typeof(NADropTransform), typeof(NADropTransform.Arguments), typeof(SignatureDataTransform), - NADropTransform.FriendlyName, NADropTransform.ShortName, "NADropTransform")] +[assembly: LoadableClass(MissingValueDroppingTransformer.Summary, typeof(MissingValueDroppingTransformer), typeof(MissingValueDroppingTransformer.Arguments), typeof(SignatureDataTransform), + MissingValueDroppingTransformer.FriendlyName, MissingValueDroppingTransformer.ShortName, "NADropTransform")] -[assembly: LoadableClass(NADropTransform.Summary, typeof(NADropTransform), null, typeof(SignatureLoadDataTransform), - NADropTransform.FriendlyName, NADropTransform.LoaderSignature)] +[assembly: LoadableClass(MissingValueDroppingTransformer.Summary, typeof(MissingValueDroppingTransformer), null, typeof(SignatureLoadDataTransform), + MissingValueDroppingTransformer.FriendlyName, MissingValueDroppingTransformer.LoaderSignature)] namespace Microsoft.ML.Runtime.Data { /// - public sealed class NADropTransform : OneToOneTransformBase + public sealed class MissingValueDroppingTransformer : OneToOneTransformBase { public sealed class Arguments : TransformInputBase { @@ -60,7 +60,7 @@ private static VersionInfo GetVersionInfo() verReadableCur: 0x00010001, verWeCanReadBack: 0x00010001, loaderSignature: LoaderSignature, - loaderAssemblyName: typeof(NADropTransform).Assembly.FullName); + loaderAssemblyName: typeof(MissingValueDroppingTransformer).Assembly.FullName); } private const string RegistrationName = "DropNAs"; @@ -75,12 +75,12 @@ private static VersionInfo GetVersionInfo() /// Input . This is the output from previous transform or loader. /// Name of the output column. /// Name of the column to be transformed. If this is null '' will be used. - public NADropTransform(IHostEnvironment env, IDataView input, string name, string source = null) + public MissingValueDroppingTransformer(IHostEnvironment env, IDataView input, string name, string source = null) : this(env, new Arguments() { Column = new[] { new Column() { Source = source ?? name, Name = name } } }, input) { } - public NADropTransform(IHostEnvironment env, Arguments args, IDataView input) + public MissingValueDroppingTransformer(IHostEnvironment env, Arguments args, IDataView input) : base(Contracts.CheckRef(env, nameof(env)), RegistrationName, env.CheckRef(args, nameof(args)).Column, input, TestType) { Host.CheckNonEmpty(args.Column, nameof(args.Column)); @@ -147,17 +147,17 @@ private static string TestType(ColumnType type) return null; } - public static NADropTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + public static MissingValueDroppingTransformer Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) { Contracts.CheckValue(env, nameof(env)); var h = env.Register(RegistrationName); h.CheckValue(ctx, nameof(ctx)); h.CheckValue(input, nameof(input)); ctx.CheckAtModel(GetVersionInfo()); - return h.Apply("Loading Model", ch => new NADropTransform(h, ctx, input)); + return h.Apply("Loading Model", ch => new MissingValueDroppingTransformer(h, ctx, input)); } - private NADropTransform(IHost host, ModelLoadContext ctx, IDataView input) + private MissingValueDroppingTransformer(IHost host, ModelLoadContext ctx, IDataView input) : base(host, ctx, input, TestType) { Host.AssertValue(ctx); diff --git a/src/Microsoft.ML.Transforms/NAHandleTransform.cs b/src/Microsoft.ML.Transforms/MissingValueHandlingTransformer.cs similarity index 89% rename from src/Microsoft.ML.Transforms/NAHandleTransform.cs rename to src/Microsoft.ML.Transforms/MissingValueHandlingTransformer.cs index 9c70dab3e8..b5548beb48 100644 --- a/src/Microsoft.ML.Transforms/NAHandleTransform.cs +++ b/src/Microsoft.ML.Transforms/MissingValueHandlingTransformer.cs @@ -13,13 +13,13 @@ using System.Collections.Generic; using System.Text; -[assembly: LoadableClass(NAHandleTransform.Summary, typeof(IDataTransform), typeof(NAHandleTransform), typeof(NAHandleTransform.Arguments), typeof(SignatureDataTransform), - NAHandleTransform.FriendlyName, "NAHandleTransform", NAHandleTransform.ShortName, "NA", DocName = "transform/NAHandle.md")] +[assembly: LoadableClass(MissingValueHandlingTransformer.Summary, typeof(IDataTransform), typeof(MissingValueHandlingTransformer), typeof(MissingValueHandlingTransformer.Arguments), typeof(SignatureDataTransform), + MissingValueHandlingTransformer.FriendlyName, "NAHandleTransform", MissingValueHandlingTransformer.ShortName, "NA", DocName = "transform/NAHandle.md")] namespace Microsoft.ML.Transforms { /// - public static class NAHandleTransform + public static class MissingValueHandlingTransformer { public enum ReplacementKind : byte { @@ -108,7 +108,7 @@ public bool TryUnparse(StringBuilder sb) internal const string ShortName = "NAHandle"; /// - /// A helper method to create for public facing API. + /// A helper method to create for public facing API. /// /// Host Environment. /// Input . This is the output from previous transform or loader. @@ -136,7 +136,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV h.CheckValue(input, nameof(input)); h.CheckUserArg(Utils.Size(args.Column) > 0, nameof(args.Column)); - var replaceCols = new List(); + var replaceCols = new List(); var naIndicatorCols = new List(); var naConvCols = new List(); var concatCols = new List(); @@ -150,7 +150,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV var addInd = column.ConcatIndicator ?? args.Concat; if (!addInd) { - replaceCols.Add(new NAReplaceTransform.ColumnInfo(column.Source, column.Name, (NAReplaceTransform.ColumnInfo.ReplacementMode)(column.Kind ?? args.ReplaceWith), column.ImputeBySlot ?? args.ImputeBySlot)); + replaceCols.Add(new MissingValueReplacingTransformer.ColumnInfo(column.Source, column.Name, (MissingValueReplacingTransformer.ColumnInfo.ReplacementMode)(column.Kind ?? args.ReplaceWith), column.ImputeBySlot ?? args.ImputeBySlot)); continue; } @@ -177,7 +177,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV naConvCols.Add(new ConvertingTransform.ColumnInfo(tmpIsMissingColName, tmpIsMissingColName, replaceType.ItemType.RawKind)); // Add the NAReplaceTransform column. - replaceCols.Add(new NAReplaceTransform.ColumnInfo(column.Source, tmpReplacementColName, (NAReplaceTransform.ColumnInfo.ReplacementMode)(column.Kind ?? args.ReplaceWith), column.ImputeBySlot ?? args.ImputeBySlot)); + replaceCols.Add(new MissingValueReplacingTransformer.ColumnInfo(column.Source, tmpReplacementColName, (MissingValueReplacingTransformer.ColumnInfo.ReplacementMode)(column.Kind ?? args.ReplaceWith), column.ImputeBySlot ?? args.ImputeBySlot)); // Add the ConcatTransform column. if (replaceType.IsVector) @@ -223,7 +223,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV output = new ConvertingTransform(h, naConvCols.ToArray()).Transform(output) as IDataTransform; } // Create the NAReplace transform. - output = NAReplaceTransform.Create(env, output ?? input, replaceCols.ToArray()); + output = MissingValueReplacingTransformer.Create(env, output ?? input, replaceCols.ToArray()); // Concat the NAReplaceTransform output and the NAIndicatorTransform output. if (naIndicatorCols.Count > 0) diff --git a/src/Microsoft.ML.Transforms/NAReplaceTransform.cs b/src/Microsoft.ML.Transforms/MissingValueReplacing.cs similarity index 91% rename from src/Microsoft.ML.Transforms/NAReplaceTransform.cs rename to src/Microsoft.ML.Transforms/MissingValueReplacing.cs index ec2793cc2d..c4e39b877f 100644 --- a/src/Microsoft.ML.Transforms/NAReplaceTransform.cs +++ b/src/Microsoft.ML.Transforms/MissingValueReplacing.cs @@ -22,17 +22,17 @@ using System.Reflection; using System.Text; -[assembly: LoadableClass(NAReplaceTransform.Summary, typeof(IDataTransform), typeof(NAReplaceTransform), typeof(NAReplaceTransform.Arguments), typeof(SignatureDataTransform), - NAReplaceTransform.FriendlyName, NAReplaceTransform.LoadName, "NAReplace", NAReplaceTransform.ShortName, DocName = "transform/NAHandle.md")] +[assembly: LoadableClass(MissingValueReplacingTransformer.Summary, typeof(IDataTransform), typeof(MissingValueReplacingTransformer), typeof(MissingValueReplacingTransformer.Arguments), typeof(SignatureDataTransform), + MissingValueReplacingTransformer.FriendlyName, MissingValueReplacingTransformer.LoadName, "NAReplace", MissingValueReplacingTransformer.ShortName, DocName = "transform/NAHandle.md")] -[assembly: LoadableClass(NAReplaceTransform.Summary, typeof(IDataTransform), typeof(NAReplaceTransform), null, typeof(SignatureLoadDataTransform), - NAReplaceTransform.FriendlyName, NAReplaceTransform.LoadName)] +[assembly: LoadableClass(MissingValueReplacingTransformer.Summary, typeof(IDataTransform), typeof(MissingValueReplacingTransformer), null, typeof(SignatureLoadDataTransform), + MissingValueReplacingTransformer.FriendlyName, MissingValueReplacingTransformer.LoadName)] -[assembly: LoadableClass(NAReplaceTransform.Summary, typeof(NAReplaceTransform), null, typeof(SignatureLoadModel), - NAReplaceTransform.FriendlyName, NAReplaceTransform.LoadName)] +[assembly: LoadableClass(MissingValueReplacingTransformer.Summary, typeof(MissingValueReplacingTransformer), null, typeof(SignatureLoadModel), + MissingValueReplacingTransformer.FriendlyName, MissingValueReplacingTransformer.LoadName)] -[assembly: LoadableClass(typeof(IRowMapper), typeof(NAReplaceTransform), null, typeof(SignatureLoadRowMapper), - NAReplaceTransform.FriendlyName, NAReplaceTransform.LoadName)] +[assembly: LoadableClass(typeof(IRowMapper), typeof(MissingValueReplacingTransformer), null, typeof(SignatureLoadRowMapper), + MissingValueReplacingTransformer.FriendlyName, MissingValueReplacingTransformer.LoadName)] namespace Microsoft.ML.Transforms { @@ -42,7 +42,7 @@ namespace Microsoft.ML.Transforms // Imputation modes are supported for vectors both by slot and across all slots. // REVIEW: May make sense to implement the transform template interface. /// - public sealed partial class NAReplaceTransform : OneToOneTransformerBase + public sealed partial class MissingValueReplacingTransformer : OneToOneTransformerBase { public enum ReplacementKind : byte { @@ -140,7 +140,7 @@ private static VersionInfo GetVersionInfo() verReadableCur: 0x00010002, verWeCanReadBack: 0x00010001, loaderSignature: LoadName, - loaderAssemblyName: typeof(NAReplaceTransform).Assembly.FullName); + loaderAssemblyName: typeof(MissingValueReplacingTransformer).Assembly.FullName); } internal const string Summary = "Create an output column of the same type and size of the input column, where missing values " @@ -239,8 +239,8 @@ protected override void CheckInputColumn(ISchema inputSchema, int col, int srcCo throw Host.ExceptParam(nameof(inputSchema), reason); } - public NAReplaceTransform(IHostEnvironment env, IDataView input, params ColumnInfo[] columns) - : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(NAReplaceTransform)), GetColumnPairs(columns)) + public MissingValueReplacingTransformer(IHostEnvironment env, IDataView input, params ColumnInfo[] columns) + : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(MissingValueReplacingTransformer)), GetColumnPairs(columns)) { // Check that all the input columns are present and correct. for (int i = 0; i < ColumnPairs.Length; i++) @@ -252,7 +252,7 @@ public NAReplaceTransform(IHostEnvironment env, IDataView input, params ColumnIn GetReplacementValues(input, columns, out _repValues, out _repIsDefault, out _replaceTypes); } - private NAReplaceTransform(IHost host, ModelLoadContext ctx) + private MissingValueReplacingTransformer(IHost host, ModelLoadContext ctx) : base(host, ctx) { var columnsLength = ColumnPairs.Length; @@ -482,16 +482,16 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV item.Slot ?? args.ImputeBySlot); cols[i].ReplacementString = item.ReplacementString; }; - return new NAReplaceTransform(env, input, cols).MakeDataTransform(input); + return new MissingValueReplacingTransformer(env, input, cols).MakeDataTransform(input); } public static IDataTransform Create(IHostEnvironment env, IDataView input, params ColumnInfo[] columns) { - return new NAReplaceTransform(env, input, columns).MakeDataTransform(input); + return new MissingValueReplacingTransformer(env, input, columns).MakeDataTransform(input); } // Factory method for SignatureLoadModel. - public static NAReplaceTransform Create(IHostEnvironment env, ModelLoadContext ctx) + public static MissingValueReplacingTransformer Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); var host = env.Register(LoadName); @@ -499,7 +499,7 @@ public static NAReplaceTransform Create(IHostEnvironment env, ModelLoadContext c host.CheckValue(ctx, nameof(ctx)); ctx.CheckAtModel(GetVersionInfo()); - return new NAReplaceTransform(host, ctx); + return new MissingValueReplacingTransformer(host, ctx); } // Factory method for SignatureLoadDataTransform. @@ -574,14 +574,14 @@ public ColInfo(string name, string source, ColumnType type) } } - private readonly NAReplaceTransform _parent; + private readonly MissingValueReplacingTransformer _parent; private readonly ColInfo[] _infos; private readonly ColumnType[] _types; // The isNA delegates, parallel to Infos. private readonly Delegate[] _isNAs; public bool CanSaveOnnx(OnnxContext ctx) => true; - public Mapper(NAReplaceTransform parent, Schema inputSchema) + public Mapper(MissingValueReplacingTransformer parent, Schema inputSchema) : base(parent.Host.Register(nameof(Mapper)), parent, inputSchema) { _parent = parent; @@ -943,24 +943,24 @@ private bool SaveAsOnnxCore(OnnxContext ctx, int iinfo, ColInfo info, string src } } - public sealed class MissingValueReplacingEstimator : IEstimator + public sealed class MissingValueReplacingEstimator : IEstimator { public static class Defaults { - public const NAReplaceTransform.ColumnInfo.ReplacementMode ReplacementMode = NAReplaceTransform.ColumnInfo.ReplacementMode.DefaultValue; + public const MissingValueReplacingTransformer.ColumnInfo.ReplacementMode ReplacementMode = MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.DefaultValue; public const bool ImputeBySlot = true; } private readonly IHost _host; - private readonly NAReplaceTransform.ColumnInfo[] _columns; + private readonly MissingValueReplacingTransformer.ColumnInfo[] _columns; - public MissingValueReplacingEstimator(IHostEnvironment env, string inputColumn, string outputColumn = null, NAReplaceTransform.ColumnInfo.ReplacementMode replacementKind = Defaults.ReplacementMode) - : this(env, new NAReplaceTransform.ColumnInfo(outputColumn ?? inputColumn, inputColumn, replacementKind)) + public MissingValueReplacingEstimator(IHostEnvironment env, string inputColumn, string outputColumn = null, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementKind = Defaults.ReplacementMode) + : this(env, new MissingValueReplacingTransformer.ColumnInfo(outputColumn ?? inputColumn, inputColumn, replacementKind)) { } - public MissingValueReplacingEstimator(IHostEnvironment env, params NAReplaceTransform.ColumnInfo[] columns) + public MissingValueReplacingEstimator(IHostEnvironment env, params MissingValueReplacingTransformer.ColumnInfo[] columns) { Contracts.CheckValue(env, nameof(env)); _host = env.Register(nameof(MissingValueReplacingEstimator)); @@ -975,7 +975,7 @@ public SchemaShape GetOutputSchema(SchemaShape inputSchema) { if (!inputSchema.TryFindColumn(colInfo.Input, out var col)) throw _host.ExceptSchemaMismatch(nameof(inputSchema), "input", colInfo.Input); - string reason = NAReplaceTransform.TestType(col.ItemType); + string reason = MissingValueReplacingTransformer.TestType(col.ItemType); if (reason != null) throw _host.ExceptParam(nameof(inputSchema), reason); var metadata = new List(); @@ -989,7 +989,7 @@ public SchemaShape GetOutputSchema(SchemaShape inputSchema) return new SchemaShape(result.Values); } - public NAReplaceTransform Fit(IDataView input) => new NAReplaceTransform(_host, input, _columns); + public MissingValueReplacingTransformer Fit(IDataView input) => new MissingValueReplacingTransformer(_host, input, _columns); } /// @@ -1000,9 +1000,9 @@ public static class NAReplacerExtensions private readonly struct Config { public readonly bool ImputeBySlot; - public readonly NAReplaceTransform.ColumnInfo.ReplacementMode ReplacementMode; + public readonly MissingValueReplacingTransformer.ColumnInfo.ReplacementMode ReplacementMode; - public Config(NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode, + public Config(MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode, bool imputeBySlot = MissingValueReplacingEstimator.Defaults.ImputeBySlot) { ImputeBySlot = imputeBySlot; @@ -1068,11 +1068,11 @@ public override IEstimator Reconcile(IHostEnvironment env, IReadOnlyDictionary outputNames, IReadOnlyCollection usedNames) { - var infos = new NAReplaceTransform.ColumnInfo[toOutput.Length]; + var infos = new MissingValueReplacingTransformer.ColumnInfo[toOutput.Length]; for (int i = 0; i < toOutput.Length; ++i) { var col = (IColInput)toOutput[i]; - infos[i] = new NAReplaceTransform.ColumnInfo(inputNames[col.Input], outputNames[toOutput[i]], col.Config.ReplacementMode, col.Config.ImputeBySlot); + infos[i] = new MissingValueReplacingTransformer.ColumnInfo(inputNames[col.Input], outputNames[toOutput[i]], col.Config.ReplacementMode, col.Config.ImputeBySlot); } return new MissingValueReplacingEstimator(env, infos); } @@ -1083,7 +1083,7 @@ public override IEstimator Reconcile(IHostEnvironment env, /// /// Incoming data. /// How NaN should be replaced - public static Scalar ReplaceNaNValues(this Scalar input, NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) + public static Scalar ReplaceNaNValues(this Scalar input, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) { Contracts.CheckValue(input, nameof(input)); return new OutScalar(input, new Config(replacementMode, false)); @@ -1094,7 +1094,7 @@ public static Scalar ReplaceNaNValues(this Scalar input, NAReplace /// /// Incoming data. /// How NaN should be replaced - public static Scalar ReplaceNaNValues(this Scalar input, NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) + public static Scalar ReplaceNaNValues(this Scalar input, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) { Contracts.CheckValue(input, nameof(input)); return new OutScalar(input, new Config(replacementMode, false)); @@ -1107,7 +1107,7 @@ public static Scalar ReplaceNaNValues(this Scalar input, NARepla /// If true, per-slot imputation of replacement is performed. /// Otherwise, replacement value is imputed for the entire vector column. This setting is ignored for scalars and variable vectors, /// where imputation is always for the entire column. - public static Vector ReplaceNaNValues(this Vector input, NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode, bool imputeBySlot = MissingValueReplacingEstimator.Defaults.ImputeBySlot) + public static Vector ReplaceNaNValues(this Vector input, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode, bool imputeBySlot = MissingValueReplacingEstimator.Defaults.ImputeBySlot) { Contracts.CheckValue(input, nameof(input)); return new OutVectorColumn(input, new Config(replacementMode, imputeBySlot)); @@ -1121,7 +1121,7 @@ public static Vector ReplaceNaNValues(this Vector input, NAReplace /// If true, per-slot imputation of replacement is performed. /// Otherwise, replacement value is imputed for the entire vector column. This setting is ignored for scalars and variable vectors, /// where imputation is always for the entire column. - public static Vector ReplaceNaNValues(this Vector input, NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode, bool imputeBySlot = MissingValueReplacingEstimator.Defaults.ImputeBySlot) + public static Vector ReplaceNaNValues(this Vector input, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode, bool imputeBySlot = MissingValueReplacingEstimator.Defaults.ImputeBySlot) { Contracts.CheckValue(input, nameof(input)); return new OutVectorColumn(input, new Config(replacementMode, imputeBySlot)); @@ -1132,7 +1132,7 @@ public static Vector ReplaceNaNValues(this Vector input, NARepla /// /// Incoming data. /// How NaN should be replaced - public static VarVector ReplaceNaNValues(this VarVector input, NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) + public static VarVector ReplaceNaNValues(this VarVector input, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) { Contracts.CheckValue(input, nameof(input)); return new OutVarVectorColumn(input, new Config(replacementMode, false)); @@ -1142,7 +1142,7 @@ public static VarVector ReplaceNaNValues(this VarVector input, NAR /// /// Incoming data. /// How NaN should be replaced - public static VarVector ReplaceNaNValues(this VarVector input, NAReplaceTransform.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) + public static VarVector ReplaceNaNValues(this VarVector input, MissingValueReplacingTransformer.ColumnInfo.ReplacementMode replacementMode = MissingValueReplacingEstimator.Defaults.ReplacementMode) { Contracts.CheckValue(input, nameof(input)); return new OutVarVectorColumn(input, new Config(replacementMode, false)); diff --git a/src/Microsoft.ML.Transforms/NAReplaceUtils.cs b/src/Microsoft.ML.Transforms/MissingValueReplacingUtils.cs similarity index 99% rename from src/Microsoft.ML.Transforms/NAReplaceUtils.cs rename to src/Microsoft.ML.Transforms/MissingValueReplacingUtils.cs index 82ca10a966..921cd4292e 100644 --- a/src/Microsoft.ML.Transforms/NAReplaceUtils.cs +++ b/src/Microsoft.ML.Transforms/MissingValueReplacingUtils.cs @@ -12,7 +12,7 @@ namespace Microsoft.ML.Transforms { using Conditional = System.Diagnostics.ConditionalAttribute; - public sealed partial class NAReplaceTransform + public sealed partial class MissingValueReplacingTransformer { private static StatAggregator CreateStatAggregator(IChannel ch, ColumnType type, ReplacementKind? kind, bool bySlot, IRowCursor cursor, int col) { diff --git a/src/Microsoft.ML.Transforms/NAHandling.cs b/src/Microsoft.ML.Transforms/NAHandling.cs index 9ad7acd94a..e8799b3487 100644 --- a/src/Microsoft.ML.Transforms/NAHandling.cs +++ b/src/Microsoft.ML.Transforms/NAHandling.cs @@ -14,15 +14,15 @@ namespace Microsoft.ML.Transforms public static class NAHandling { [TlcModule.EntryPoint(Name = "Transforms.MissingValuesDropper", - Desc = NADropTransform.Summary, - UserName = NADropTransform.FriendlyName, - ShortName = NADropTransform.ShortName, + Desc = MissingValueDroppingTransformer.Summary, + UserName = MissingValueDroppingTransformer.FriendlyName, + ShortName = MissingValueDroppingTransformer.ShortName, XmlInclude = new[] { @"", @"" })] - public static CommonOutputs.TransformOutput Drop(IHostEnvironment env, NADropTransform.Arguments input) + public static CommonOutputs.TransformOutput Drop(IHostEnvironment env, MissingValueDroppingTransformer.Arguments input) { - var h = EntryPointUtils.CheckArgsAndCreateHost(env, NADropTransform.ShortName, input); - var xf = new NADropTransform(h, input, input.Data); + var h = EntryPointUtils.CheckArgsAndCreateHost(env, MissingValueDroppingTransformer.ShortName, input); + var xf = new MissingValueDroppingTransformer(h, input, input.Data); return new CommonOutputs.TransformOutput() { Model = new TransformModel(h, xf, input.Data), @@ -48,15 +48,15 @@ public static CommonOutputs.TransformOutput Filter(IHostEnvironment env, NAFilte } [TlcModule.EntryPoint(Name = "Transforms.MissingValueHandler", - Desc = NAHandleTransform.Summary, - UserName = NAHandleTransform.FriendlyName, - ShortName = NAHandleTransform.ShortName, + Desc = MissingValueHandlingTransformer.Summary, + UserName = MissingValueHandlingTransformer.FriendlyName, + ShortName = MissingValueHandlingTransformer.ShortName, XmlInclude = new[] { @"", @"" })] - public static CommonOutputs.TransformOutput Handle(IHostEnvironment env, NAHandleTransform.Arguments input) + public static CommonOutputs.TransformOutput Handle(IHostEnvironment env, MissingValueHandlingTransformer.Arguments input) { var h = EntryPointUtils.CheckArgsAndCreateHost(env, "NAHandle", input); - var xf = NAHandleTransform.Create(h, input, input.Data); + var xf = MissingValueHandlingTransformer.Create(h, input, input.Data); return new CommonOutputs.TransformOutput() { Model = new TransformModel(h, xf, input.Data), @@ -82,15 +82,15 @@ public static CommonOutputs.TransformOutput Indicator(IHostEnvironment env, NAIn } [TlcModule.EntryPoint(Name = "Transforms.MissingValueSubstitutor", - Desc = NAReplaceTransform.Summary, - UserName = NAReplaceTransform.FriendlyName, - ShortName = NAReplaceTransform.ShortName, + Desc = MissingValueReplacingTransformer.Summary, + UserName = MissingValueReplacingTransformer.FriendlyName, + ShortName = MissingValueReplacingTransformer.ShortName, XmlInclude = new[] { @"", @""})] - public static CommonOutputs.TransformOutput Replace(IHostEnvironment env, NAReplaceTransform.Arguments input) + public static CommonOutputs.TransformOutput Replace(IHostEnvironment env, MissingValueReplacingTransformer.Arguments input) { var h = EntryPointUtils.CheckArgsAndCreateHost(env, "NAReplace", input); - var xf = NAReplaceTransform.Create(h, input, input.Data); + var xf = MissingValueReplacingTransformer.Create(h, input, input.Data); return new CommonOutputs.TransformOutput() { Model = new TransformModel(h, xf, input.Data), diff --git a/src/Microsoft.ML.Transforms/ProjectionCatalog.cs b/src/Microsoft.ML.Transforms/ProjectionCatalog.cs index e75052e708..13ed1608a2 100644 --- a/src/Microsoft.ML.Transforms/ProjectionCatalog.cs +++ b/src/Microsoft.ML.Transforms/ProjectionCatalog.cs @@ -30,7 +30,7 @@ public static RandomFourierFeaturizingEstimator CreateRandomFourierFeatures(this /// /// The transform's catalog. /// The input columns to use for the transformation. - public static RandomFourierFeaturizingEstimator CreateRandomFourierFeatures(this TransformsCatalog.ProjectionTransforms catalog, params RffTransform.ColumnInfo[] columns) + public static RandomFourierFeaturizingEstimator CreateRandomFourierFeatures(this TransformsCatalog.ProjectionTransforms catalog, params RandomFourierFeaturizingTransformer.ColumnInfo[] columns) => new RandomFourierFeaturizingEstimator(CatalogUtils.GetEnvironment(catalog), columns); /// @@ -44,10 +44,10 @@ public static RandomFourierFeaturizingEstimator CreateRandomFourierFeatures(this /// Maximum number of rows used to train the transform. /// In case of PCA whitening, indicates the number of components to retain. public static VectorWhiteningEstimator VectorWhiten(this TransformsCatalog.ProjectionTransforms catalog, string inputColumn, string outputColumn, - WhiteningKind kind = VectorWhiteningTransform.Defaults.Kind, - float eps = VectorWhiteningTransform.Defaults.Eps, - int maxRows = VectorWhiteningTransform.Defaults.MaxRows, - int pcaNum = VectorWhiteningTransform.Defaults.PcaNum) + WhiteningKind kind = VectorWhiteningTransformer.Defaults.Kind, + float eps = VectorWhiteningTransformer.Defaults.Eps, + int maxRows = VectorWhiteningTransformer.Defaults.MaxRows, + int pcaNum = VectorWhiteningTransformer.Defaults.PcaNum) => new VectorWhiteningEstimator(CatalogUtils.GetEnvironment(catalog), inputColumn, outputColumn, kind, eps, maxRows, pcaNum); /// @@ -55,7 +55,7 @@ public static VectorWhiteningEstimator VectorWhiten(this TransformsCatalog.Proje /// /// The transform's catalog. /// Describes the parameters of the whitening process for each column pair. - public static VectorWhiteningEstimator VectorWhiten(this TransformsCatalog.ProjectionTransforms catalog, params VectorWhiteningTransform.ColumnInfo[] columns) + public static VectorWhiteningEstimator VectorWhiten(this TransformsCatalog.ProjectionTransforms catalog, params VectorWhiteningTransformer.ColumnInfo[] columns) => new VectorWhiteningEstimator(CatalogUtils.GetEnvironment(catalog), columns); } } diff --git a/src/Microsoft.ML.Transforms/RffTransform.cs b/src/Microsoft.ML.Transforms/RandomFourierFeaturizing.cs similarity index 92% rename from src/Microsoft.ML.Transforms/RffTransform.cs rename to src/Microsoft.ML.Transforms/RandomFourierFeaturizing.cs index cd2623e05f..ca5dbbde04 100644 --- a/src/Microsoft.ML.Transforms/RffTransform.cs +++ b/src/Microsoft.ML.Transforms/RandomFourierFeaturizing.cs @@ -18,21 +18,21 @@ using System.Linq; using System.Text; -[assembly: LoadableClass(RffTransform.Summary, typeof(IDataTransform), typeof(RffTransform), typeof(RffTransform.Arguments), typeof(SignatureDataTransform), +[assembly: LoadableClass(RandomFourierFeaturizingTransformer.Summary, typeof(IDataTransform), typeof(RandomFourierFeaturizingTransformer), typeof(RandomFourierFeaturizingTransformer.Arguments), typeof(SignatureDataTransform), "Random Fourier Features Transform", "RffTransform", "Rff")] -[assembly: LoadableClass(RffTransform.Summary, typeof(IDataTransform), typeof(RffTransform), null, typeof(SignatureLoadDataTransform), - "Random Fourier Features Transform", RffTransform.LoaderSignature)] +[assembly: LoadableClass(RandomFourierFeaturizingTransformer.Summary, typeof(IDataTransform), typeof(RandomFourierFeaturizingTransformer), null, typeof(SignatureLoadDataTransform), + "Random Fourier Features Transform", RandomFourierFeaturizingTransformer.LoaderSignature)] -[assembly: LoadableClass(RffTransform.Summary, typeof(RffTransform), null, typeof(SignatureLoadModel), - "Random Fourier Features Transform", RffTransform.LoaderSignature)] +[assembly: LoadableClass(RandomFourierFeaturizingTransformer.Summary, typeof(RandomFourierFeaturizingTransformer), null, typeof(SignatureLoadModel), + "Random Fourier Features Transform", RandomFourierFeaturizingTransformer.LoaderSignature)] -[assembly: LoadableClass(typeof(IRowMapper), typeof(RffTransform), null, typeof(SignatureLoadRowMapper), - "Random Fourier Features Transform", RffTransform.LoaderSignature)] +[assembly: LoadableClass(typeof(IRowMapper), typeof(RandomFourierFeaturizingTransformer), null, typeof(SignatureLoadRowMapper), + "Random Fourier Features Transform", RandomFourierFeaturizingTransformer.LoaderSignature)] namespace Microsoft.ML.Transforms.Projections { - public sealed class RffTransform : OneToOneTransformerBase + public sealed class RandomFourierFeaturizingTransformer : OneToOneTransformerBase { public sealed class Arguments { @@ -219,7 +219,7 @@ private static VersionInfo GetVersionInfo() verReadableCur: 0x00010002, verWeCanReadBack: 0x00010001, loaderSignature: LoaderSignature, - loaderAssemblyName: typeof(RffTransform).Assembly.FullName); + loaderAssemblyName: typeof(RandomFourierFeaturizingTransformer).Assembly.FullName); } private readonly TransformInfo[] _transformInfos; @@ -280,8 +280,8 @@ protected override void CheckInputColumn(ISchema inputSchema, int col, int srcCo new VectorType(NumberType.Float, _transformInfos[col].SrcDim).ToString(), type.ToString()); } - public RffTransform(IHostEnvironment env, IDataView input, ColumnInfo[] columns) - : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(RffTransform)), GetColumnPairs(columns)) + public RandomFourierFeaturizingTransformer(IHostEnvironment env, IDataView input, ColumnInfo[] columns) + : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(RandomFourierFeaturizingTransformer)), GetColumnPairs(columns)) { var avgDistances = GetAvgDistances(columns, input); _transformInfos = new TransformInfo[columns.Length]; @@ -432,7 +432,7 @@ private static IDataTransform Create(IHostEnvironment env, ModelLoadContext ctx, private static IRowMapper Create(IHostEnvironment env, ModelLoadContext ctx, ISchema inputSchema) => Create(env, ctx).MakeRowMapper(Schema.Create(inputSchema)); - private RffTransform(IHost host, ModelLoadContext ctx) + private RandomFourierFeaturizingTransformer(IHost host, ModelLoadContext ctx) : base(host, ctx) { // *** Binary format *** @@ -471,14 +471,14 @@ private static IDataTransform Create(IHostEnvironment env, Arguments args, IData item.Seed ?? args.Seed); }; } - return new RffTransform(env, input, cols).MakeDataTransform(input); + return new RandomFourierFeaturizingTransformer(env, input, cols).MakeDataTransform(input); } // Factory method for SignatureLoadModel. - private static RffTransform Create(IHostEnvironment env, ModelLoadContext ctx) + private static RandomFourierFeaturizingTransformer Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); - var host = env.Register(nameof(RffTransform)); + var host = env.Register(nameof(RandomFourierFeaturizingTransformer)); host.CheckValue(ctx, nameof(ctx)); ctx.CheckAtModel(GetVersionInfo()); @@ -487,7 +487,7 @@ private static RffTransform Create(IHostEnvironment env, ModelLoadContext ctx) int cbFloat = ctx.Reader.ReadInt32(); env.CheckDecode(cbFloat == sizeof(float)); } - return new RffTransform(host, ctx); + return new RandomFourierFeaturizingTransformer(host, ctx); } public override void Save(ModelSaveContext ctx) @@ -511,9 +511,9 @@ private sealed class Mapper : MapperBase private readonly ColumnType[] _srcTypes; private readonly int[] _srcCols; private readonly ColumnType[] _types; - private readonly RffTransform _parent; + private readonly RandomFourierFeaturizingTransformer _parent; - public Mapper(RffTransform parent, Schema inputSchema) + public Mapper(RandomFourierFeaturizingTransformer parent, Schema inputSchema) : base(parent.Host.Register(nameof(Mapper)), parent, inputSchema) { _parent = parent; @@ -641,7 +641,7 @@ private void TransformFeatures(in VBuffer src, ref VBuffer dst, Tr /// /// Estimator which takes set of vector columns and maps its input to a random low-dimensional feature space. /// - public sealed class RandomFourierFeaturizingEstimator : IEstimator + public sealed class RandomFourierFeaturizingEstimator : IEstimator { internal static class Defaults { @@ -650,7 +650,7 @@ internal static class Defaults } private readonly IHost _host; - private readonly RffTransform.ColumnInfo[] _columns; + private readonly RandomFourierFeaturizingTransformer.ColumnInfo[] _columns; /// /// Convinence constructor for simple one column case @@ -661,18 +661,18 @@ internal static class Defaults /// The number of random Fourier features to create. /// Create two features for every random Fourier frequency? (one for cos and one for sin). public RandomFourierFeaturizingEstimator(IHostEnvironment env, string inputColumn, string outputColumn = null, int newDim = Defaults.NewDim, bool useSin = Defaults.UseSin) - : this(env, new RffTransform.ColumnInfo(inputColumn, outputColumn ?? inputColumn, newDim, useSin)) + : this(env, new RandomFourierFeaturizingTransformer.ColumnInfo(inputColumn, outputColumn ?? inputColumn, newDim, useSin)) { } - public RandomFourierFeaturizingEstimator(IHostEnvironment env, params RffTransform.ColumnInfo[] columns) + public RandomFourierFeaturizingEstimator(IHostEnvironment env, params RandomFourierFeaturizingTransformer.ColumnInfo[] columns) { Contracts.CheckValue(env, nameof(env)); _host = env.Register(nameof(RandomFourierFeaturizingEstimator)); _columns = columns; } - public RffTransform Fit(IDataView input) => new RffTransform(_host, input, _columns); + public RandomFourierFeaturizingTransformer Fit(IDataView input) => new RandomFourierFeaturizingTransformer(_host, input, _columns); public SchemaShape GetOutputSchema(SchemaShape inputSchema) { @@ -733,11 +733,11 @@ private sealed class Reconciler : EstimatorReconciler public override IEstimator Reconcile(IHostEnvironment env, PipelineColumn[] toOutput, IReadOnlyDictionary inputNames, IReadOnlyDictionary outputNames, IReadOnlyCollection usedNames) { - var infos = new RffTransform.ColumnInfo[toOutput.Length]; + var infos = new RandomFourierFeaturizingTransformer.ColumnInfo[toOutput.Length]; for (int i = 0; i < toOutput.Length; ++i) { var tcol = (IColInput)toOutput[i]; - infos[i] = new RffTransform.ColumnInfo(inputNames[tcol.Input], outputNames[toOutput[i]], tcol.Config.NewDim, tcol.Config.UseSin, tcol.Config.Generator, tcol.Config.Seed); + infos[i] = new RandomFourierFeaturizingTransformer.ColumnInfo(inputNames[tcol.Input], outputNames[toOutput[i]], tcol.Config.NewDim, tcol.Config.UseSin, tcol.Config.Generator, tcol.Config.Seed); } return new RandomFourierFeaturizingEstimator(env, infos); } diff --git a/src/Microsoft.ML.Transforms/TermLookupTransform.cs b/src/Microsoft.ML.Transforms/TermLookupTransformer.cs similarity index 96% rename from src/Microsoft.ML.Transforms/TermLookupTransform.cs rename to src/Microsoft.ML.Transforms/TermLookupTransformer.cs index 14fc80322a..90fa18a455 100644 --- a/src/Microsoft.ML.Transforms/TermLookupTransform.cs +++ b/src/Microsoft.ML.Transforms/TermLookupTransformer.cs @@ -16,11 +16,11 @@ using System.Reflection; using System.Text; -[assembly: LoadableClass(TermLookupTransform.Summary, typeof(TermLookupTransform), typeof(TermLookupTransform.Arguments), typeof(SignatureDataTransform), +[assembly: LoadableClass(TermLookupTransformer.Summary, typeof(TermLookupTransformer), typeof(TermLookupTransformer.Arguments), typeof(SignatureDataTransform), "Term Lookup Transform", "TermLookup", "Lookup", "LookupTransform", "TermLookupTransform")] -[assembly: LoadableClass(TermLookupTransform.Summary, typeof(TermLookupTransform), null, typeof(SignatureLoadDataTransform), - "Term Lookup Transform", TermLookupTransform.LoaderSignature)] +[assembly: LoadableClass(TermLookupTransformer.Summary, typeof(TermLookupTransformer), null, typeof(SignatureLoadDataTransform), + "Term Lookup Transform", TermLookupTransformer.LoaderSignature)] namespace Microsoft.ML.Transforms.Categorical { @@ -29,7 +29,7 @@ namespace Microsoft.ML.Transforms.Categorical /// /// This transform maps text values columns to new columns using a map dataset provided through its arguments. /// - public sealed class TermLookupTransform : OneToOneTransformBase + public sealed class TermLookupTransformer : OneToOneTransformBase { public sealed class Column : OneToOneColumn { @@ -279,7 +279,7 @@ private static VersionInfo GetVersionInfo() verReadableCur: 0x00010002, verWeCanReadBack: 0x00010002, loaderSignature: LoaderSignature, - loaderAssemblyName: typeof(TermLookupTransform).Assembly.FullName); + loaderAssemblyName: typeof(TermLookupTransformer).Assembly.FullName); } // This is the byte array containing the binary .idv file contents for the lookup data. @@ -301,7 +301,7 @@ private static VersionInfo GetVersionInfo() /// /// Public constructor corresponding to SignatureDataTransform. /// - public TermLookupTransform(IHostEnvironment env, Arguments args, IDataView input) + public TermLookupTransformer(IHostEnvironment env, Arguments args, IDataView input) : base(env, RegistrationName, env.CheckRef(args, nameof(args)).Column, input, TestIsText) { @@ -321,7 +321,7 @@ public TermLookupTransform(IHostEnvironment env, Arguments args, IDataView input } } - public TermLookupTransform(IHostEnvironment env, IDataView input, IDataView lookup, string sourceTerm, string sourceValue, string targetTerm, string targetValue) + public TermLookupTransformer(IHostEnvironment env, IDataView input, IDataView lookup, string sourceTerm, string sourceValue, string targetTerm, string targetValue) : base(env, RegistrationName, new[] { new Column { Name = sourceValue, Source = sourceTerm } }, input, TestIsText) { Host.AssertNonEmpty(Infos); @@ -589,7 +589,7 @@ private static ValueMap Train(IExceptionContext ectx, BinaryLoader ldr) return values; } - private TermLookupTransform(IChannel ch, ModelLoadContext ctx, IHost host, IDataView input) + private TermLookupTransformer(IChannel ch, ModelLoadContext ctx, IHost host, IDataView input) : base(host, ctx, input, TestIsText) { Host.AssertValue(ch); @@ -630,14 +630,14 @@ private static byte[] ReadAllBytes(IExceptionContext ectx, BinaryReader rdr) return rgb; } - public static TermLookupTransform Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) + public static TermLookupTransformer Create(IHostEnvironment env, ModelLoadContext ctx, IDataView input) { Contracts.CheckValue(env, nameof(env)); var h = env.Register(RegistrationName); h.CheckValue(ctx, nameof(ctx)); ctx.CheckAtModel(GetVersionInfo()); h.CheckValue(input, nameof(input)); - return h.Apply("Loading Model", ch => new TermLookupTransform(ch, ctx, h, input)); + return h.Apply("Loading Model", ch => new TermLookupTransformer(ch, ctx, h, input)); } public override void Save(ModelSaveContext ctx) diff --git a/src/Microsoft.ML.Transforms/Text/WordBagTransform.cs b/src/Microsoft.ML.Transforms/Text/WordBagTransform.cs index 279a0aaa3c..986de17d53 100644 --- a/src/Microsoft.ML.Transforms/Text/WordBagTransform.cs +++ b/src/Microsoft.ML.Transforms/Text/WordBagTransform.cs @@ -301,7 +301,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV if (termCols.Count > 0) { TermTransform.Arguments termArgs = null; - NADropTransform.Arguments naDropArgs = null; + MissingValueDroppingTransformer.Arguments naDropArgs = null; if (termLoaderArgs != null) { termArgs = @@ -318,7 +318,7 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV }; if (termLoaderArgs.DropUnknowns) - naDropArgs = new NADropTransform.Arguments { Column = new NADropTransform.Column[termCols.Count] }; + naDropArgs = new MissingValueDroppingTransformer.Arguments { Column = new MissingValueDroppingTransformer.Column[termCols.Count] }; } else { @@ -342,12 +342,12 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV }; if (naDropArgs != null) - naDropArgs.Column[iinfo] = new NADropTransform.Column { Name = column.Name, Source = column.Name }; + naDropArgs.Column[iinfo] = new MissingValueDroppingTransformer.Column { Name = column.Name, Source = column.Name }; } view = TermTransform.Create(h, termArgs, view); if (naDropArgs != null) - view = new NADropTransform(h, naDropArgs, view); + view = new MissingValueDroppingTransformer(h, naDropArgs, view); } var ngramArgs = diff --git a/src/Microsoft.ML.Transforms/Text/WordHashBagTransform.cs b/src/Microsoft.ML.Transforms/Text/WordHashBagTransform.cs index aec1912bea..4997e20c5f 100644 --- a/src/Microsoft.ML.Transforms/Text/WordHashBagTransform.cs +++ b/src/Microsoft.ML.Transforms/Text/WordHashBagTransform.cs @@ -402,13 +402,13 @@ public static IDataTransform Create(IHostEnvironment env, Arguments args, IDataV if (termLoaderArgs.DropUnknowns) { - var naDropArgs = new NADropTransform.Arguments { Column = new NADropTransform.Column[termCols.Count] }; + var naDropArgs = new MissingValueDroppingTransformer.Arguments { Column = new MissingValueDroppingTransformer.Column[termCols.Count] }; for (int iinfo = 0; iinfo < termCols.Count; iinfo++) { naDropArgs.Column[iinfo] = - new NADropTransform.Column { Name = termCols[iinfo].Name, Source = termCols[iinfo].Name }; + new MissingValueDroppingTransformer.Column { Name = termCols[iinfo].Name, Source = termCols[iinfo].Name }; } - view = new NADropTransform(h, naDropArgs, view); + view = new MissingValueDroppingTransformer(h, naDropArgs, view); } } diff --git a/src/Microsoft.ML.Transforms/WhiteningTransform.cs b/src/Microsoft.ML.Transforms/VectorWhitening.cs similarity index 92% rename from src/Microsoft.ML.Transforms/WhiteningTransform.cs rename to src/Microsoft.ML.Transforms/VectorWhitening.cs index 320d1b43ea..368c4a71b0 100644 --- a/src/Microsoft.ML.Transforms/WhiteningTransform.cs +++ b/src/Microsoft.ML.Transforms/VectorWhitening.cs @@ -19,17 +19,17 @@ using System.Runtime.InteropServices; using System.Text; -[assembly: LoadableClass(VectorWhiteningTransform.Summary, typeof(IDataTransform), typeof(VectorWhiteningTransform), typeof(VectorWhiteningTransform.Arguments), typeof(SignatureDataTransform), - VectorWhiteningTransform.FriendlyName, VectorWhiteningTransform.LoaderSignature, "Whitening")] +[assembly: LoadableClass(VectorWhiteningTransformer.Summary, typeof(IDataTransform), typeof(VectorWhiteningTransformer), typeof(VectorWhiteningTransformer.Arguments), typeof(SignatureDataTransform), + VectorWhiteningTransformer.FriendlyName, VectorWhiteningTransformer.LoaderSignature, "Whitening")] -[assembly: LoadableClass(VectorWhiteningTransform.Summary, typeof(IDataTransform), typeof(VectorWhiteningTransform), null, typeof(SignatureLoadDataTransform), - VectorWhiteningTransform.FriendlyName, VectorWhiteningTransform.LoaderSignature, VectorWhiteningTransform.LoaderSignatureOld)] +[assembly: LoadableClass(VectorWhiteningTransformer.Summary, typeof(IDataTransform), typeof(VectorWhiteningTransformer), null, typeof(SignatureLoadDataTransform), + VectorWhiteningTransformer.FriendlyName, VectorWhiteningTransformer.LoaderSignature, VectorWhiteningTransformer.LoaderSignatureOld)] -[assembly: LoadableClass(VectorWhiteningTransform.Summary, typeof(VectorWhiteningTransform), null, typeof(SignatureLoadModel), - VectorWhiteningTransform.FriendlyName, VectorWhiteningTransform.LoaderSignature)] +[assembly: LoadableClass(VectorWhiteningTransformer.Summary, typeof(VectorWhiteningTransformer), null, typeof(SignatureLoadModel), + VectorWhiteningTransformer.FriendlyName, VectorWhiteningTransformer.LoaderSignature)] -[assembly: LoadableClass(typeof(IRowMapper), typeof(VectorWhiteningTransform), null, typeof(SignatureLoadRowMapper), - VectorWhiteningTransform.FriendlyName, VectorWhiteningTransform.LoaderSignature)] +[assembly: LoadableClass(typeof(IRowMapper), typeof(VectorWhiteningTransformer), null, typeof(SignatureLoadRowMapper), + VectorWhiteningTransformer.FriendlyName, VectorWhiteningTransformer.LoaderSignature)] namespace Microsoft.ML.Transforms.Projections { @@ -43,7 +43,7 @@ public enum WhiteningKind } /// - public sealed class VectorWhiteningTransform : OneToOneTransformerBase + public sealed class VectorWhiteningTransformer : OneToOneTransformerBase { internal static class Defaults { @@ -234,20 +234,20 @@ private static VersionInfo GetVersionInfo() verWeCanReadBack: 0x00010001, loaderSignature: LoaderSignature, loaderSignatureAlt: LoaderSignatureOld, - loaderAssemblyName: typeof(VectorWhiteningTransform).Assembly.FullName); + loaderAssemblyName: typeof(VectorWhiteningTransformer).Assembly.FullName); } private readonly ColumnInfo[] _columns; /// - /// Initializes a new object. + /// Initializes a new object. /// /// Host Environment. /// An array of whitening matrices where models[i] is learned from the i-th element of . /// An array of inverse whitening matrices, the i-th element being the inverse matrix of models[i]. /// Describes the parameters of the whitening process for each column pair. - internal VectorWhiteningTransform(IHostEnvironment env, float[][] models, float[][] invModels, params ColumnInfo[] columns) - : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(VectorWhiteningTransform)), GetColumnPairs(columns)) + internal VectorWhiteningTransformer(IHostEnvironment env, float[][] models, float[][] invModels, params ColumnInfo[] columns) + : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(VectorWhiteningTransformer)), GetColumnPairs(columns)) { Host.AssertNonEmpty(ColumnPairs); _columns = columns; @@ -255,8 +255,8 @@ internal VectorWhiteningTransform(IHostEnvironment env, float[][] models, float[ _invModels = invModels; } - private VectorWhiteningTransform(IHostEnvironment env, ModelLoadContext ctx) - : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(VectorWhiteningTransform)), ctx) + private VectorWhiteningTransformer(IHostEnvironment env, ModelLoadContext ctx) + : base(Contracts.CheckRef(env, nameof(env)).Register(nameof(VectorWhiteningTransformer)), ctx) { Host.AssertValue(ctx); @@ -284,11 +284,11 @@ private VectorWhiteningTransform(IHostEnvironment env, ModelLoadContext ctx) } // Factory method for SignatureLoadModel - internal static VectorWhiteningTransform Create(IHostEnvironment env, ModelLoadContext ctx) + internal static VectorWhiteningTransformer Create(IHostEnvironment env, ModelLoadContext ctx) { Contracts.CheckValue(env, nameof(env)); ctx.CheckAtModel(GetVersionInfo()); - return new VectorWhiteningTransform(env, ctx); + return new VectorWhiteningTransformer(env, ctx); } // Factory method for SignatureDataTransform. @@ -296,7 +296,7 @@ internal static IDataTransform Create(IHostEnvironment env, Arguments args, IDat { var infos = args.Column.Select(colPair => new ColumnInfo(colPair, args)).ToArray(); (var models, var invModels) = TrainVectorWhiteningTransform(env, input, infos); - return new VectorWhiteningTransform(env, models, invModels, infos).MakeDataTransform(input); + return new VectorWhiteningTransformer(env, models, invModels, infos).MakeDataTransform(input); } // Factory method for SignatureLoadDataTransform. @@ -634,11 +634,11 @@ protected override IRowMapper MakeRowMapper(Schema schema) private sealed class Mapper : MapperBase { - private readonly VectorWhiteningTransform _parent; + private readonly VectorWhiteningTransformer _parent; private readonly int[] _cols; private readonly ColumnType[] _srcTypes; - public Mapper(VectorWhiteningTransform parent, Schema inputSchema) + public Mapper(VectorWhiteningTransformer parent, Schema inputSchema) : base(parent.Host.Register(nameof(Mapper)), parent, inputSchema) { _parent = parent; @@ -754,17 +754,17 @@ private static float DotProduct(float[] a, int aOffset, float[] b, int[] indices } /// - public sealed class VectorWhiteningEstimator : IEstimator + public sealed class VectorWhiteningEstimator : IEstimator { private readonly IHost _host; - private readonly VectorWhiteningTransform.ColumnInfo[] _infos; + private readonly VectorWhiteningTransformer.ColumnInfo[] _infos; /// /// The environment. /// Describes the parameters of the whitening process for each column pair. - public VectorWhiteningEstimator(IHostEnvironment env, params VectorWhiteningTransform.ColumnInfo[] columns) + public VectorWhiteningEstimator(IHostEnvironment env, params VectorWhiteningTransformer.ColumnInfo[] columns) { - _host = Contracts.CheckRef(env, nameof(env)).Register(nameof(VectorWhiteningTransform)); + _host = Contracts.CheckRef(env, nameof(env)).Register(nameof(VectorWhiteningTransformer)); _infos = columns; } @@ -777,19 +777,19 @@ public VectorWhiteningEstimator(IHostEnvironment env, params VectorWhiteningTran /// Maximum number of rows used to train the transform. /// In case of PCA whitening, indicates the number of components to retain. public VectorWhiteningEstimator(IHostEnvironment env, string inputColumn, string outputColumn, - WhiteningKind kind = VectorWhiteningTransform.Defaults.Kind, - float eps = VectorWhiteningTransform.Defaults.Eps, - int maxRows = VectorWhiteningTransform.Defaults.MaxRows, - int pcaNum = VectorWhiteningTransform.Defaults.PcaNum) - : this(env, new VectorWhiteningTransform.ColumnInfo(inputColumn, outputColumn, kind, eps, maxRows, pcaNum)) + WhiteningKind kind = VectorWhiteningTransformer.Defaults.Kind, + float eps = VectorWhiteningTransformer.Defaults.Eps, + int maxRows = VectorWhiteningTransformer.Defaults.MaxRows, + int pcaNum = VectorWhiteningTransformer.Defaults.PcaNum) + : this(env, new VectorWhiteningTransformer.ColumnInfo(inputColumn, outputColumn, kind, eps, maxRows, pcaNum)) { } - public VectorWhiteningTransform Fit(IDataView input) + public VectorWhiteningTransformer Fit(IDataView input) { // Build transformation matrices for whitening process, then construct a trained transform. - (var models, var invModels) = VectorWhiteningTransform.TrainVectorWhiteningTransform(_host, input, _infos); - return new VectorWhiteningTransform(_host, models, invModels, _infos); + (var models, var invModels) = VectorWhiteningTransformer.TrainVectorWhiteningTransform(_host, input, _infos); + return new VectorWhiteningTransformer(_host, models, invModels, _infos); } /// @@ -803,7 +803,7 @@ public SchemaShape GetOutputSchema(SchemaShape inputSchema) { if (!inputSchema.TryFindColumn(colPair.Input, out var col)) throw _host.ExceptSchemaMismatch(nameof(inputSchema), "input", colPair.Input); - var reason = VectorWhiteningTransform.TestColumn(col.ItemType); + var reason = VectorWhiteningTransformer.TestColumn(col.ItemType); if (reason != null) throw _host.ExceptUserArg(nameof(inputSchema), reason); result[colPair.Output] = new SchemaShape.Column(colPair.Output, col.Kind, col.ItemType, col.IsKey, null); @@ -851,9 +851,9 @@ public override IEstimator Reconcile(IHostEnvironment env, { Contracts.Assert(toOutput.Length == 1); - var infos = new VectorWhiteningTransform.ColumnInfo[toOutput.Length]; + var infos = new VectorWhiteningTransformer.ColumnInfo[toOutput.Length]; for (int i = 0; i < toOutput.Length; i++) - infos[i] = new VectorWhiteningTransform.ColumnInfo(inputNames[((OutPipelineColumn)toOutput[i]).Input], outputNames[toOutput[i]], _kind, _eps, _maxRows, _pcaNum); + infos[i] = new VectorWhiteningTransformer.ColumnInfo(inputNames[((OutPipelineColumn)toOutput[i]).Input], outputNames[toOutput[i]], _kind, _eps, _maxRows, _pcaNum); return new VectorWhiteningEstimator(env, infos); } @@ -865,9 +865,9 @@ public override IEstimator Reconcile(IHostEnvironment env, /// Maximum number of rows used to train the transform. /// In case of PCA whitening, indicates the number of components to retain. public static Vector PcaWhitening(this Vector input, - float eps = VectorWhiteningTransform.Defaults.Eps, - int maxRows = VectorWhiteningTransform.Defaults.MaxRows, - int pcaNum = VectorWhiteningTransform.Defaults.PcaNum) + float eps = VectorWhiteningTransformer.Defaults.Eps, + int maxRows = VectorWhiteningTransformer.Defaults.MaxRows, + int pcaNum = VectorWhiteningTransformer.Defaults.PcaNum) => new OutPipelineColumn(input, WhiteningKind.Pca, eps, maxRows, pcaNum); /// @@ -875,8 +875,8 @@ public static Vector PcaWhitening(this Vector input, /// Whitening constant, prevents division by zero. /// Maximum number of rows used to train the transform. public static Vector ZcaWhitening(this Vector input, - float eps = VectorWhiteningTransform.Defaults.Eps, - int maxRows = VectorWhiteningTransform.Defaults.MaxRows) - => new OutPipelineColumn(input, WhiteningKind.Zca, eps, maxRows, VectorWhiteningTransform.Defaults.PcaNum); + float eps = VectorWhiteningTransformer.Defaults.Eps, + int maxRows = VectorWhiteningTransformer.Defaults.MaxRows) + => new OutPipelineColumn(input, WhiteningKind.Zca, eps, maxRows, VectorWhiteningTransformer.Defaults.PcaNum); } } diff --git a/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv b/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv index 8a90026359..54c0528712 100644 --- a/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv +++ b/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv @@ -110,11 +110,11 @@ Transforms.LpNormalizer Normalize vectors (rows) individually by rescaling them Transforms.ManyHeterogeneousModelCombiner Combines a sequence of TransformModels and a PredictorModel into a single PredictorModel. Microsoft.ML.Runtime.EntryPoints.ModelOperations CombineModels Microsoft.ML.Runtime.EntryPoints.ModelOperations+PredictorModelInput Microsoft.ML.Runtime.EntryPoints.ModelOperations+PredictorModelOutput Transforms.MeanVarianceNormalizer Normalizes the data based on the computed mean and variance of the data. Microsoft.ML.Runtime.Data.Normalize MeanVar Microsoft.ML.Transforms.Normalizers.NormalizeTransform+MeanVarArguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MinMaxNormalizer Normalizes the data based on the observed minimum and maximum values of the data. Microsoft.ML.Runtime.Data.Normalize MinMax Microsoft.ML.Transforms.Normalizers.NormalizeTransform+MinMaxArguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput -Transforms.MissingValueHandler Handle missing values by replacing them with either the default value or the mean/min/max value (for non-text columns only). An indicator column can optionally be concatenated, if theinput column type is numeric. Microsoft.ML.Transforms.NAHandling Handle Microsoft.ML.Transforms.NAHandleTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput +Transforms.MissingValueHandler Handle missing values by replacing them with either the default value or the mean/min/max value (for non-text columns only). An indicator column can optionally be concatenated, if theinput column type is numeric. Microsoft.ML.Transforms.NAHandling Handle Microsoft.ML.Transforms.MissingValueHandlingTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MissingValueIndicator Create a boolean output column with the same number of slots as the input column, where the output value is true if the value in the input column is missing. Microsoft.ML.Transforms.NAHandling Indicator Microsoft.ML.Transforms.NAIndicatorTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput -Transforms.MissingValuesDropper Removes NAs from vector columns. Microsoft.ML.Transforms.NAHandling Drop Microsoft.ML.Runtime.Data.NADropTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput +Transforms.MissingValuesDropper Removes NAs from vector columns. Microsoft.ML.Transforms.NAHandling Drop Microsoft.ML.Runtime.Data.MissingValueDroppingTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MissingValuesRowDropper Filters out rows that contain missing values. Microsoft.ML.Transforms.NAHandling Filter Microsoft.ML.Transforms.NAFilter+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput -Transforms.MissingValueSubstitutor Create an output column of the same type and size of the input column, where missing values are replaced with either the default value or the mean/min/max value (for non-text columns only). Microsoft.ML.Transforms.NAHandling Replace Microsoft.ML.Transforms.NAReplaceTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput +Transforms.MissingValueSubstitutor Create an output column of the same type and size of the input column, where missing values are replaced with either the default value or the mean/min/max value (for non-text columns only). Microsoft.ML.Transforms.NAHandling Replace Microsoft.ML.Transforms.MissingValueReplacingTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.ModelCombiner Combines a sequence of TransformModels into a single model Microsoft.ML.Runtime.EntryPoints.ModelOperations CombineTransformModels Microsoft.ML.Runtime.EntryPoints.ModelOperations+CombineTransformModelsInput Microsoft.ML.Runtime.EntryPoints.ModelOperations+CombineTransformModelsOutput Transforms.NGramTranslator Produces a bag of counts of ngrams (sequences of consecutive values of length 1-n) in a given vector of keys. It does so by building a dictionary of ngrams and using the id in the dictionary as the index in the bag. Microsoft.ML.Transforms.Text.TextAnalytics NGramTransform Microsoft.ML.Transforms.Text.NgramTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.NoOperation Does nothing. Microsoft.ML.Runtime.Data.NopTransform Nop Microsoft.ML.Runtime.Data.NopTransform+NopInput Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput diff --git a/test/Microsoft.ML.Benchmarks/Helpers/EnvironmentFactory.cs b/test/Microsoft.ML.Benchmarks/Helpers/EnvironmentFactory.cs index f707df9e59..ff2ddd1bbe 100644 --- a/test/Microsoft.ML.Benchmarks/Helpers/EnvironmentFactory.cs +++ b/test/Microsoft.ML.Benchmarks/Helpers/EnvironmentFactory.cs @@ -38,7 +38,7 @@ internal static ConsoleEnvironment CreateRankingEnvironment ( - A: row.ScalarFloat.ReplaceNaNValues(NAReplaceTransform.ColumnInfo.ReplacementMode.Maximum), - B: row.ScalarDouble.ReplaceNaNValues(NAReplaceTransform.ColumnInfo.ReplacementMode.Mean), - C: row.VectorFloat.ReplaceNaNValues(NAReplaceTransform.ColumnInfo.ReplacementMode.Mean), - D: row.VectorDoulbe.ReplaceNaNValues(NAReplaceTransform.ColumnInfo.ReplacementMode.Minimum) + A: row.ScalarFloat.ReplaceNaNValues(MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Maximum), + B: row.ScalarDouble.ReplaceNaNValues(MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Mean), + C: row.VectorFloat.ReplaceNaNValues(MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Mean), + D: row.VectorDoulbe.ReplaceNaNValues(MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Minimum) )); TestEstimatorCore(est.AsDynamic, data.AsDynamic, invalidInput: invalidData); @@ -109,10 +109,10 @@ public void TestOldSavingAndLoading() var dataView = ComponentCreation.CreateDataView(Env, data); var pipe = new MissingValueReplacingEstimator(Env, - new NAReplaceTransform.ColumnInfo("A", "NAA", NAReplaceTransform.ColumnInfo.ReplacementMode.Mean), - new NAReplaceTransform.ColumnInfo("B", "NAB", NAReplaceTransform.ColumnInfo.ReplacementMode.Mean), - new NAReplaceTransform.ColumnInfo("C", "NAC", NAReplaceTransform.ColumnInfo.ReplacementMode.Mean), - new NAReplaceTransform.ColumnInfo("D", "NAD", NAReplaceTransform.ColumnInfo.ReplacementMode.Mean)); + new MissingValueReplacingTransformer.ColumnInfo("A", "NAA", MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Mean), + new MissingValueReplacingTransformer.ColumnInfo("B", "NAB", MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Mean), + new MissingValueReplacingTransformer.ColumnInfo("C", "NAC", MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Mean), + new MissingValueReplacingTransformer.ColumnInfo("D", "NAD", MissingValueReplacingTransformer.ColumnInfo.ReplacementMode.Mean)); var result = pipe.Fit(dataView).Transform(dataView); var resultRoles = new RoleMappedData(result); diff --git a/test/Microsoft.ML.Tests/Transformers/RffTests.cs b/test/Microsoft.ML.Tests/Transformers/RffTests.cs index 80d404cf9c..d647eddbca 100644 --- a/test/Microsoft.ML.Tests/Transformers/RffTests.cs +++ b/test/Microsoft.ML.Tests/Transformers/RffTests.cs @@ -51,8 +51,8 @@ public void RffWorkout() var generator = new GaussianFourierSampler.Arguments(); var pipe = new RandomFourierFeaturizingEstimator(Env, new[]{ - new RffTransform.ColumnInfo("A", "RffA", 5, false), - new RffTransform.ColumnInfo("A", "RffB", 10, true, new LaplacianFourierSampler.Arguments()) + new RandomFourierFeaturizingTransformer.ColumnInfo("A", "RffA", 5, false), + new RandomFourierFeaturizingTransformer.ColumnInfo("A", "RffB", 10, true, new LaplacianFourierSampler.Arguments()) }); TestEstimatorCore(pipe, dataView, invalidInput: invalidData, validForFitNotValidForTransformInput: validFitInvalidData); @@ -107,8 +107,8 @@ public void TestOldSavingAndLoading() var dataView = ComponentCreation.CreateDataView(Env, data); var est = new RandomFourierFeaturizingEstimator(Env, new[]{ - new RffTransform.ColumnInfo("A", "RffA", 5, false), - new RffTransform.ColumnInfo("A", "RffB", 10, true,new LaplacianFourierSampler.Arguments()) + new RandomFourierFeaturizingTransformer.ColumnInfo("A", "RffA", 5, false), + new RandomFourierFeaturizingTransformer.ColumnInfo("A", "RffB", 10, true,new LaplacianFourierSampler.Arguments()) }); var result = est.Fit(dataView).Transform(dataView); var resultRoles = new RoleMappedData(result); From 908a0ab78da06059d9860d82b187e47eccc5254c Mon Sep 17 00:00:00 2001 From: Senja Filipi Date: Fri, 9 Nov 2018 23:29:43 -0800 Subject: [PATCH 2/4] fix column name --- src/Microsoft.ML.PipelineInference/TransformInference.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.ML.PipelineInference/TransformInference.cs b/src/Microsoft.ML.PipelineInference/TransformInference.cs index f11ca772e1..85b92a0d0d 100644 --- a/src/Microsoft.ML.PipelineInference/TransformInference.cs +++ b/src/Microsoft.ML.PipelineInference/TransformInference.cs @@ -1292,7 +1292,7 @@ public override IEnumerable Apply(IntermediateColumn[] colum { Column = new[] { - new ML.Legacy.Transforms.NAHandleTransformColumn + new ML.Legacy.Transforms.MissingValueHandlingTransformerColumn { Name = name, Source = name From ca16fa192115d32719c0b11ef3093b50353b1290 Mon Sep 17 00:00:00 2001 From: Senja Filipi Date: Mon, 12 Nov 2018 08:42:15 -0800 Subject: [PATCH 3/4] correcting living the generation test enabled. --- test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv | 4 ++-- test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv b/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv index 303cc4dfd9..6177eecc52 100644 --- a/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv +++ b/test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv @@ -110,9 +110,9 @@ Transforms.LpNormalizer Normalize vectors (rows) individually by rescaling them Transforms.ManyHeterogeneousModelCombiner Combines a sequence of TransformModels and a PredictorModel into a single PredictorModel. Microsoft.ML.Runtime.EntryPoints.ModelOperations CombineModels Microsoft.ML.Runtime.EntryPoints.ModelOperations+PredictorModelInput Microsoft.ML.Runtime.EntryPoints.ModelOperations+PredictorModelOutput Transforms.MeanVarianceNormalizer Normalizes the data based on the computed mean and variance of the data. Microsoft.ML.Runtime.Data.Normalize MeanVar Microsoft.ML.Transforms.Normalizers.NormalizeTransform+MeanVarArguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MinMaxNormalizer Normalizes the data based on the observed minimum and maximum values of the data. Microsoft.ML.Runtime.Data.Normalize MinMax Microsoft.ML.Transforms.Normalizers.NormalizeTransform+MinMaxArguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput -Transforms.MissingValueHandler Handle missing values by replacing them with either the default value or the mean/min/max value (for non-text columns only). An indicator column can optionally be concatenated, if theinput column type is numeric. Microsoft.ML.Transforms.NAHandling Handle Microsoft.ML.Transforms.NAHandleTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput +Transforms.MissingValueHandler Handle missing values by replacing them with either the default value or the mean/min/max value (for non-text columns only). An indicator column can optionally be concatenated, if theinput column type is numeric. Microsoft.ML.Transforms.NAHandling Handle Microsoft.ML.Transforms.MissingValueHandlingTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MissingValueIndicator Create a boolean output column with the same number of slots as the input column, where the output value is true if the value in the input column is missing. Microsoft.ML.Transforms.NAHandling Indicator Microsoft.ML.Transforms.MissingValueIndicatorTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput -Transforms.MissingValuesDropper Removes NAs from vector columns. Microsoft.ML.Transforms.NAHandling Drop Microsoft.ML.Runtime.Data.NADropTransform+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput +Transforms.MissingValuesDropper Removes NAs from vector columns. Microsoft.ML.Transforms.NAHandling Drop Microsoft.ML.Runtime.Data.MissingValueDroppingTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MissingValuesRowDropper Filters out rows that contain missing values. Microsoft.ML.Transforms.NAHandling Filter Microsoft.ML.Transforms.NAFilter+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.MissingValueSubstitutor Create an output column of the same type and size of the input column, where missing values are replaced with either the default value or the mean/min/max value (for non-text columns only). Microsoft.ML.Transforms.NAHandling Replace Microsoft.ML.Transforms.MissingValueReplacingTransformer+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+TransformOutput Transforms.ModelCombiner Combines a sequence of TransformModels into a single model Microsoft.ML.Runtime.EntryPoints.ModelOperations CombineTransformModels Microsoft.ML.Runtime.EntryPoints.ModelOperations+CombineTransformModelsInput Microsoft.ML.Runtime.EntryPoints.ModelOperations+CombineTransformModelsOutput diff --git a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs index 2f445f9001..0cb5d5c3de 100644 --- a/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs +++ b/test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs @@ -249,7 +249,7 @@ private string GetBuildPrefix() #endif } - [Fact] + [Fact(Skip = "Execute this test if you want to regenerate the core_manifest and core_ep_list files")] public void RegenerateEntryPointCatalog() { var (epListContents, jObj) = BuildManifests(); From a7c3df01caeca9cd205e3529f0caf310bec3e72c Mon Sep 17 00:00:00 2001 From: Senja Filipi Date: Mon, 12 Nov 2018 10:18:33 -0800 Subject: [PATCH 4/4] adapting output files. --- .../Common/SavePipe/SavePipeLabelParsers-Schema.txt | 2 +- .../Common/SavePipe/SavePipeLabelParsers1-Schema.txt | 2 +- .../Common/SavePipe/SavePipeLabelParsers2-Schema.txt | 2 +- .../Common/SavePipe/SavePipeLabelParsers3-Schema.txt | 2 +- .../Common/SavePipe/SavePipeLabelParsers4-Schema.txt | 4 ++-- .../Common/SavePipe/SavePipeLabelParsers5-Schema.txt | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers-Schema.txt b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers-Schema.txt index 6bfec04297..6402981be7 100644 --- a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers-Schema.txt +++ b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers-Schema.txt @@ -34,7 +34,7 @@ StringLabel: Key Metadata 'KeyValues': Vec: Length=7, Count=7 [0] 'Wirtschaft', [1] 'Gesundheit', [2] 'Deutschland', [3] 'Ausland', [4] 'Unterhaltung', [5] 'Sport', [6] 'Technik & Wissen' ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 6 columns: RawLabel: Text Names: Vec diff --git a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers1-Schema.txt b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers1-Schema.txt index 2f805fd103..1e8446cc3e 100644 --- a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers1-Schema.txt +++ b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers1-Schema.txt @@ -7,7 +7,7 @@ Features: Vec Metadata 'SlotNames': Vec: Length=2, Count=2 [0] 'weg fuer milliardenhilfe frei', [1] 'vor dem parlamentsgebaeude toben strassenkaempfe zwischen demonstranten drinnen haben die griechischen abgeordneten das drastische sparpaket am abend endgueltig beschlossen die entscheidung ist eine wichtige voraussetzung fuer die auszahlung von weiteren acht milliarden euro hilfsgeldern athen das griechische parlament hat einem umfassenden sparpaket endgueltig zugestimmt' ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 4 columns: RawLabel: Text Names: Vec diff --git a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers2-Schema.txt b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers2-Schema.txt index 7f097005cb..f40e727ef0 100644 --- a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers2-Schema.txt +++ b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers2-Schema.txt @@ -7,7 +7,7 @@ Features: Vec Metadata 'SlotNames': Vec: Length=2, Count=2 [0] 'weg fuer milliardenhilfe frei', [1] 'vor dem parlamentsgebaeude toben strassenkaempfe zwischen demonstranten drinnen haben die griechischen abgeordneten das drastische sparpaket am abend endgueltig beschlossen die entscheidung ist eine wichtige voraussetzung fuer die auszahlung von weiteren acht milliarden euro hilfsgeldern athen das griechische parlament hat einem umfassenden sparpaket endgueltig zugestimmt' ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 4 columns: RawLabel: Text Names: Vec diff --git a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers3-Schema.txt b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers3-Schema.txt index 9c8630237b..eb6fccd5db 100644 --- a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers3-Schema.txt +++ b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers3-Schema.txt @@ -7,7 +7,7 @@ Features: Vec Metadata 'SlotNames': Vec: Length=2, Count=2 [0] 'weg fuer milliardenhilfe frei', [1] 'vor dem parlamentsgebaeude toben strassenkaempfe zwischen demonstranten drinnen haben die griechischen abgeordneten das drastische sparpaket am abend endgueltig beschlossen die entscheidung ist eine wichtige voraussetzung fuer die auszahlung von weiteren acht milliarden euro hilfsgeldern athen das griechische parlament hat einem umfassenden sparpaket endgueltig zugestimmt' ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 4 columns: RawLabel: Text Names: Vec diff --git a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers4-Schema.txt b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers4-Schema.txt index e54b1a5652..750b267e78 100644 --- a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers4-Schema.txt +++ b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers4-Schema.txt @@ -7,7 +7,7 @@ Features: Vec Metadata 'SlotNames': Vec: Length=2, Count=2 [0] 'weg fuer milliardenhilfe frei', [1] 'vor dem parlamentsgebaeude toben strassenkaempfe zwischen demonstranten drinnen haben die griechischen abgeordneten das drastische sparpaket am abend endgueltig beschlossen die entscheidung ist eine wichtige voraussetzung fuer die auszahlung von weiteren acht milliarden euro hilfsgeldern athen das griechische parlament hat einem umfassenden sparpaket endgueltig zugestimmt' ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 4 columns: RawLabel: Text Names: Vec @@ -17,7 +17,7 @@ Metadata 'SlotNames': Vec: Length=2, Count=2 [0] 'weg fuer milliardenhilfe frei', [1] 'vor dem parlamentsgebaeude toben strassenkaempfe zwischen demonstranten drinnen haben die griechischen abgeordneten das drastische sparpaket am abend endgueltig beschlossen die entscheidung ist eine wichtige voraussetzung fuer die auszahlung von weiteren acht milliarden euro hilfsgeldern athen das griechische parlament hat einem umfassenden sparpaket endgueltig zugestimmt' FileLabelNum: R4 ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 5 columns: RawLabel: Text Names: Vec diff --git a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers5-Schema.txt b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers5-Schema.txt index 76739e7fda..68614d1599 100644 --- a/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers5-Schema.txt +++ b/test/BaselineOutput/Common/SavePipe/SavePipeLabelParsers5-Schema.txt @@ -7,7 +7,7 @@ Features: Vec Metadata 'SlotNames': Vec: Length=2, Count=2 [0] 'weg fuer milliardenhilfe frei', [1] 'vor dem parlamentsgebaeude toben strassenkaempfe zwischen demonstranten drinnen haben die griechischen abgeordneten das drastische sparpaket am abend endgueltig beschlossen die entscheidung ist eine wichtige voraussetzung fuer die auszahlung von weiteren acht milliarden euro hilfsgeldern athen das griechische parlament hat einem umfassenden sparpaket endgueltig zugestimmt' ----- TermLookupTransform ---- +---- TermLookupTransformer ---- 4 columns: RawLabel: Text Names: Vec