diff --git a/docs/code/MlNetCookBook.md b/docs/code/MlNetCookBook.md
index 727ed415e2..f509ebfe57 100644
--- a/docs/code/MlNetCookBook.md
+++ b/docs/code/MlNetCookBook.md
@@ -424,7 +424,7 @@ var pipeline =
// Use the multi-class SDCA model to predict the label using features.
.Append(mlContext.MulticlassClassification.Trainers.SdcaCalibrated())
// Apply the inverse conversion from 'PredictedLabel' column back to string value.
- .Append(mlContext.Transforms.Conversion.MapKeyToValue(("PredictedLabel", "Data")));
+ .Append(mlContext.Transforms.Conversion.MapKeyToValue("Data", "PredictedLabel"));
// Train the model.
var model = pipeline.Fit(trainData);
diff --git a/src/Microsoft.ML.Data/Transforms/ConversionsExtensionsCatalog.cs b/src/Microsoft.ML.Data/Transforms/ConversionsExtensionsCatalog.cs
index d755265ce5..ec61cbed5f 100644
--- a/src/Microsoft.ML.Data/Transforms/ConversionsExtensionsCatalog.cs
+++ b/src/Microsoft.ML.Data/Transforms/ConversionsExtensionsCatalog.cs
@@ -111,22 +111,6 @@ public static KeyToValueMappingEstimator MapKeyToValue(this TransformsCatalog.Co
public static KeyToValueMappingEstimator MapKeyToValue(this TransformsCatalog.ConversionTransforms catalog, InputOutputColumnPair[] columns)
=> new KeyToValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), columns.Select(x => (x.OutputColumnName, x.InputColumnName)).ToArray());
- ///
- /// Convert the key types (name of the column specified in the first item of the tuple) back to their original values
- /// (named as specified in the second item of the tuple).
- ///
- /// The conversion transform's catalog
- /// The pairs of input and output columns.
- ///
- ///
- ///
- ///
- [BestFriend]
- internal static KeyToValueMappingEstimator MapKeyToValue(this TransformsCatalog.ConversionTransforms catalog, params ColumnOptions[] columns)
- => new KeyToValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), ColumnOptions.ConvertToValueTuples(columns));
-
///
/// Maps key types or key values into a floating point vector.
///
@@ -218,7 +202,7 @@ public static ValueToKeyMappingEstimator MapValueToKey(this TransformsCatalog.Co
}
///
- /// Converts value types into , optionally loading the keys to use from .
+ /// Converts value types into , optionally loading the keys to use from .
///
/// The conversion transform's catalog.
/// The data columns to map to keys.
@@ -292,11 +276,11 @@ public static ValueMappingEstimator MapValue MapValue(
this TransformsCatalog.ConversionTransforms catalog,
IEnumerable> keyValuePairs,
- params ColumnOptions[] columns)
+ params InputOutputColumnPair[] columns)
{
var keys = keyValuePairs.Select(pair => pair.Key);
var values = keyValuePairs.Select(pair => pair.Value);
- return new ValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), keys, values, ColumnOptions.ConvertToValueTuples(columns));
+ return new ValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), keys, values, InputOutputColumnPair.ConvertToValueTuples(columns));
}
///
@@ -320,12 +304,12 @@ internal static ValueMappingEstimator MapValue> keyValuePairs,
bool treatValuesAsKeyType,
- params ColumnOptions[] columns)
+ params InputOutputColumnPair[] columns)
{
var keys = keyValuePairs.Select(pair => pair.Key);
var values = keyValuePairs.Select(pair => pair.Value);
return new ValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), keys, values, treatValuesAsKeyType,
- ColumnOptions.ConvertToValueTuples(columns));
+ InputOutputColumnPair.ConvertToValueTuples(columns));
}
///
@@ -381,12 +365,12 @@ public static ValueMappingEstimator MapValue MapValue(
this TransformsCatalog.ConversionTransforms catalog,
IEnumerable> keyValuePairs,
- params ColumnOptions[] columns)
+ params InputOutputColumnPair[] columns)
{
var keys = keyValuePairs.Select(pair => pair.Key);
var values = keyValuePairs.Select(pair => pair.Value);
return new ValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), keys, values,
- ColumnOptions.ConvertToValueTuples(columns));
+ InputOutputColumnPair.ConvertToValueTuples(columns));
}
///
@@ -437,8 +421,8 @@ public static ValueMappingEstimator MapValue(
[BestFriend]
internal static ValueMappingEstimator MapValue(
this TransformsCatalog.ConversionTransforms catalog,
- IDataView lookupMap, DataViewSchema.Column keyColumn, DataViewSchema.Column valueColumn, params ColumnOptions[] columns)
+ IDataView lookupMap, DataViewSchema.Column keyColumn, DataViewSchema.Column valueColumn, params InputOutputColumnPair[] columns)
=> new ValueMappingEstimator(CatalogUtils.GetEnvironment(catalog), lookupMap, keyColumn.Name, valueColumn.Name,
- ColumnOptions.ConvertToValueTuples(columns));
+ InputOutputColumnPair.ConvertToValueTuples(columns));
}
}
diff --git a/src/Microsoft.ML.Data/Transforms/ExtensionsCatalog.cs b/src/Microsoft.ML.Data/Transforms/ExtensionsCatalog.cs
index f0de57e403..d5b1867fde 100644
--- a/src/Microsoft.ML.Data/Transforms/ExtensionsCatalog.cs
+++ b/src/Microsoft.ML.Data/Transforms/ExtensionsCatalog.cs
@@ -32,40 +32,11 @@ public InputOutputColumnPair(string outputColumnName, string inputColumnName = n
InputColumnName = inputColumnName ?? outputColumnName;
OutputColumnName = outputColumnName;
}
- }
-
- ///
- /// Specifies input and output column names for a transformation.
- ///
- [BestFriend]
- internal sealed class ColumnOptions
- {
- private readonly string _outputColumnName;
- private readonly string _inputColumnName;
-
- ///
- /// Specifies input and output column names for a transformation.
- ///
- /// Name of the column resulting from the transformation of .
- /// Name of the column to transform. If set to , the value of the will be used as source.
- public ColumnOptions(string outputColumnName, string inputColumnName = null)
- {
- _outputColumnName = outputColumnName;
- _inputColumnName = inputColumnName ?? outputColumnName;
- }
-
- ///
- /// Instantiates a from a tuple of input and output column names.
- ///
- public static implicit operator ColumnOptions((string outputColumnName, string inputColumnName) value)
- {
- return new ColumnOptions(value.outputColumnName, value.inputColumnName);
- }
[BestFriend]
- internal static (string outputColumnName, string inputColumnName)[] ConvertToValueTuples(ColumnOptions[] infos)
+ internal static (string outputColumnName, string inputColumnName)[] ConvertToValueTuples(InputOutputColumnPair[] infos)
{
- return infos.Select(info => (info._outputColumnName, info._inputColumnName)).ToArray();
+ return infos.Select(info => (info.OutputColumnName, info.InputColumnName)).ToArray();
}
}
@@ -104,8 +75,8 @@ public static ColumnCopyingEstimator CopyColumns(this TransformsCatalog catalog,
///
///
[BestFriend]
- internal static ColumnCopyingEstimator CopyColumns(this TransformsCatalog catalog, params ColumnOptions[] columns)
- => new ColumnCopyingEstimator(CatalogUtils.GetEnvironment(catalog), ColumnOptions.ConvertToValueTuples(columns));
+ internal static ColumnCopyingEstimator CopyColumns(this TransformsCatalog catalog, params InputOutputColumnPair[] columns)
+ => new ColumnCopyingEstimator(CatalogUtils.GetEnvironment(catalog), InputOutputColumnPair.ConvertToValueTuples(columns));
///
/// Concatenates columns together.
diff --git a/src/Microsoft.ML.ImageAnalytics/ExtensionsCatalog.cs b/src/Microsoft.ML.ImageAnalytics/ExtensionsCatalog.cs
index ea203359a5..af6b4e89b8 100644
--- a/src/Microsoft.ML.ImageAnalytics/ExtensionsCatalog.cs
+++ b/src/Microsoft.ML.ImageAnalytics/ExtensionsCatalog.cs
@@ -32,8 +32,8 @@ public static ImageGrayscalingEstimator ConvertToGrayscale(this TransformsCatalo
/// ]]>
///
[BestFriend]
- internal static ImageGrayscalingEstimator ConvertToGrayscale(this TransformsCatalog catalog, params ColumnOptions[] columns)
- => new ImageGrayscalingEstimator(CatalogUtils.GetEnvironment(catalog), ColumnOptions.ConvertToValueTuples(columns));
+ internal static ImageGrayscalingEstimator ConvertToGrayscale(this TransformsCatalog catalog, params InputOutputColumnPair[] columns)
+ => new ImageGrayscalingEstimator(CatalogUtils.GetEnvironment(catalog), InputOutputColumnPair.ConvertToValueTuples(columns));
///
/// Loads the images from the into memory.
@@ -80,8 +80,8 @@ public static ImageLoadingEstimator LoadImages(this TransformsCatalog catalog, s
/// ]]>
///
[BestFriend]
- internal static ImageLoadingEstimator LoadImages(this TransformsCatalog catalog, string imageFolder, params ColumnOptions[] columns)
- => new ImageLoadingEstimator(CatalogUtils.GetEnvironment(catalog), imageFolder, ColumnOptions.ConvertToValueTuples(columns));
+ internal static ImageLoadingEstimator LoadImages(this TransformsCatalog catalog, string imageFolder, params InputOutputColumnPair[] columns)
+ => new ImageLoadingEstimator(CatalogUtils.GetEnvironment(catalog), imageFolder, InputOutputColumnPair.ConvertToValueTuples(columns));
///
/// The transform's catalog.
diff --git a/src/Microsoft.ML.Transforms/ConversionsCatalog.cs b/src/Microsoft.ML.Transforms/ConversionsCatalog.cs
index 406cef8d2d..7409fc591b 100644
--- a/src/Microsoft.ML.Transforms/ConversionsCatalog.cs
+++ b/src/Microsoft.ML.Transforms/ConversionsCatalog.cs
@@ -20,8 +20,8 @@ public static class ConversionsCatalog
/// Specifies the output and input columns on which the transformation should be applied.
[BestFriend]
internal static KeyToBinaryVectorMappingEstimator MapKeyToBinaryVector(this TransformsCatalog.ConversionTransforms catalog,
- params ColumnOptions[] columns)
- => new KeyToBinaryVectorMappingEstimator(CatalogUtils.GetEnvironment(catalog), ColumnOptions.ConvertToValueTuples(columns));
+ params InputOutputColumnPair[] columns)
+ => new KeyToBinaryVectorMappingEstimator(CatalogUtils.GetEnvironment(catalog), InputOutputColumnPair.ConvertToValueTuples(columns));
///
/// Convert the key types back to binary vector.
diff --git a/src/Microsoft.ML.Transforms/NormalizerCatalog.cs b/src/Microsoft.ML.Transforms/NormalizerCatalog.cs
index 657e58bf32..a71e3834a7 100644
--- a/src/Microsoft.ML.Transforms/NormalizerCatalog.cs
+++ b/src/Microsoft.ML.Transforms/NormalizerCatalog.cs
@@ -43,8 +43,8 @@ public static NormalizingEstimator Normalize(this TransformsCatalog catalog,
[BestFriend]
internal static NormalizingEstimator Normalize(this TransformsCatalog catalog,
NormalizingEstimator.NormalizationMode mode,
- params ColumnOptions[] columns)
- => new NormalizingEstimator(CatalogUtils.GetEnvironment(catalog), mode, ColumnOptions.ConvertToValueTuples(columns));
+ params InputOutputColumnPair[] columns)
+ => new NormalizingEstimator(CatalogUtils.GetEnvironment(catalog), mode, InputOutputColumnPair.ConvertToValueTuples(columns));
///
/// Normalize (rescale) columns according to specified custom parameters.
diff --git a/src/Microsoft.ML.Transforms/Text/TextCatalog.cs b/src/Microsoft.ML.Transforms/Text/TextCatalog.cs
index 4aa28da763..bf811045ab 100644
--- a/src/Microsoft.ML.Transforms/Text/TextCatalog.cs
+++ b/src/Microsoft.ML.Transforms/Text/TextCatalog.cs
@@ -75,8 +75,8 @@ public static TokenizingByCharactersEstimator TokenizeIntoCharactersAsKeys(this
[BestFriend]
internal static TokenizingByCharactersEstimator TokenizeIntoCharactersAsKeys(this TransformsCatalog.TextTransforms catalog,
bool useMarkerCharacters = CharTokenizingDefaults.UseMarkerCharacters,
- params ColumnOptions[] columns)
- => new TokenizingByCharactersEstimator(Contracts.CheckRef(catalog, nameof(catalog)).GetEnvironment(), useMarkerCharacters, ColumnOptions.ConvertToValueTuples(columns));
+ params InputOutputColumnPair[] columns)
+ => new TokenizingByCharactersEstimator(Contracts.CheckRef(catalog, nameof(catalog)).GetEnvironment(), useMarkerCharacters, InputOutputColumnPair.ConvertToValueTuples(columns));
///
/// Normalizes incoming text in by changing case, removing diacritical marks, punctuation marks and/or numbers
diff --git a/test/Microsoft.ML.Tests/Scenarios/Api/CookbookSamples/CookbookSamplesDynamicApi.cs b/test/Microsoft.ML.Tests/Scenarios/Api/CookbookSamples/CookbookSamplesDynamicApi.cs
index e2a71c27cd..cb5c35793a 100644
--- a/test/Microsoft.ML.Tests/Scenarios/Api/CookbookSamples/CookbookSamplesDynamicApi.cs
+++ b/test/Microsoft.ML.Tests/Scenarios/Api/CookbookSamples/CookbookSamplesDynamicApi.cs
@@ -187,7 +187,7 @@ private ITransformer TrainOnIris(string irisDataPath)
// [2] -9.709775 float
// Apply the inverse conversion from 'PredictedLabel' column back to string value.
- var finalPipeline = pipeline.Append(mlContext.Transforms.Conversion.MapKeyToValue(("Data", "PredictedLabel")));
+ var finalPipeline = pipeline.Append(mlContext.Transforms.Conversion.MapKeyToValue("Data", "PredictedLabel"));
dataPreview = finalPipeline.Preview(trainData);
return finalPipeline.Fit(trainData);
diff --git a/test/Microsoft.ML.Tests/Scenarios/IrisPlantClassificationWithStringLabelTests.cs b/test/Microsoft.ML.Tests/Scenarios/IrisPlantClassificationWithStringLabelTests.cs
index 010a973741..1c05497e55 100644
--- a/test/Microsoft.ML.Tests/Scenarios/IrisPlantClassificationWithStringLabelTests.cs
+++ b/test/Microsoft.ML.Tests/Scenarios/IrisPlantClassificationWithStringLabelTests.cs
@@ -39,7 +39,7 @@ public void TrainAndPredictIrisModelWithStringLabelTest()
.AppendCacheCheckpoint(mlContext)
.Append(mlContext.MulticlassClassification.Trainers.SdcaCalibrated(
new SdcaCalibratedMulticlassTrainer.Options { NumberOfThreads = 1 }))
- .Append(mlContext.Transforms.Conversion.MapKeyToValue(("Plant", "PredictedLabel")));
+ .Append(mlContext.Transforms.Conversion.MapKeyToValue("Plant", "PredictedLabel"));
// Train the pipeline
var trainedModel = pipe.Fit(trainData);
diff --git a/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs b/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs
index 20f97d63a8..9cab97c2e0 100644
--- a/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs
+++ b/test/Microsoft.ML.Tests/ScenariosWithDirectInstantiation/TensorflowTests.cs
@@ -391,7 +391,7 @@ public void TensorFlowTransformInceptionTest()
);
var data = reader.Load(new MultiFileSource(dataFile));
- var images = mlContext.Transforms.LoadImages(imageFolder, ("ImageReal", "ImagePath")).Fit(data).Transform(data);
+ var images = mlContext.Transforms.LoadImages("ImageReal", "ImagePath", imageFolder).Fit(data).Transform(data);
var cropped = mlContext.Transforms.ResizeImages("ImageCropped", 224, 224, "ImageReal").Fit(images).Transform(images);
var pixels = mlContext.Transforms.ExtractPixels(inputName, "ImageCropped", interleavePixelColors: true).Fit(cropped).Transform(cropped);
var tf = mlContext.Model.LoadTensorFlowModel(modelLocation).ScoreTensorFlowModel(outputName, inputName, true).Fit(pixels).Transform(pixels);
@@ -507,7 +507,7 @@ public void TensorFlowTransformMNISTConvTest()
var trainData = reader.Load(GetDataPath(TestDatasets.mnistTiny28.trainFilename));
var testData = reader.Load(GetDataPath(TestDatasets.mnistOneClass.testFilename));
- var pipe = mlContext.Transforms.CopyColumns(("reshape_input", "Placeholder"))
+ var pipe = mlContext.Transforms.CopyColumns("reshape_input", "Placeholder")
.Append(mlContext.Model.LoadTensorFlowModel("mnist_model/frozen_saved_model.pb").ScoreTensorFlowModel(new[] { "Softmax", "dense/Relu" }, new[] { "Placeholder", "reshape_input" }))
.Append(mlContext.Transforms.Concatenate("Features", "Softmax", "dense/Relu"))
.Append(mlContext.MulticlassClassification.Trainers.LightGbm("Label", "Features"));
@@ -662,7 +662,7 @@ private void ExecuteTFTransformMNISTConvTrainingTest(bool shuffle, int? shuffleS
preprocessedTestData = testData;
}
- var pipe = mlContext.Transforms.CopyColumns(("Features", "Placeholder"))
+ var pipe = mlContext.Transforms.CopyColumns("Features", "Placeholder")
.Append(mlContext.Model.LoadTensorFlowModel(modelLocation).RetrainTensorFlowModel(
inputColumnNames: new[] { "Features" },
outputColumnNames: new[] { "Prediction" },
@@ -729,7 +729,7 @@ public void TensorFlowTransformMNISTConvSavedModelTest()
var trainData = reader.Load(GetDataPath(TestDatasets.mnistTiny28.trainFilename));
var testData = reader.Load(GetDataPath(TestDatasets.mnistOneClass.testFilename));
- var pipe = mlContext.Transforms.CopyColumns(("reshape_input", "Placeholder"))
+ var pipe = mlContext.Transforms.CopyColumns("reshape_input", "Placeholder")
.Append(mlContext.Model.LoadTensorFlowModel("mnist_model").ScoreTensorFlowModel(new[] { "Softmax", "dense/Relu" }, new[] { "Placeholder", "reshape_input" }))
.Append(mlContext.Transforms.Concatenate("Features", new[] { "Softmax", "dense/Relu" }))
.Append(mlContext.MulticlassClassification.Trainers.LightGbm("Label", "Features"));
@@ -898,7 +898,7 @@ public void TensorFlowTransformCifarSavedModel()
new TextLoader.Column("Name", DataKind.String, 1),
}
);
- var images = mlContext.Transforms.LoadImages(imageFolder, ("ImageReal", "ImagePath")).Fit(data).Transform(data);
+ var images = mlContext.Transforms.LoadImages("ImageReal", imageFolder, "ImagePath").Fit(data).Transform(data);
var cropped = mlContext.Transforms.ResizeImages("ImageCropped", imageWidth, imageHeight, "ImageReal").Fit(images).Transform(images);
var pixels = mlContext.Transforms.ExtractPixels("Input", "ImageCropped", interleavePixelColors: true).Fit(cropped).Transform(cropped);
IDataView trans = tensorFlowModel.ScoreTensorFlowModel("Output", "Input").Fit(pixels).Transform(pixels);
@@ -1000,7 +1000,7 @@ public void TensorFlowSentimentClassificationTest()
// The second pipeline 'tfEnginePipe' takes the resized integer vector and passes it to TensoFlow and gets the classification scores.
var estimator = mlContext.Transforms.Text.TokenizeIntoWords("TokenizedWords", "Sentiment_Text")
.Append(mlContext.Transforms.Conversion.MapValue(lookupMap, lookupMap.Schema["Words"], lookupMap.Schema["Ids"],
- new ColumnOptions[] { ("Features", "TokenizedWords") }));
+ new[] { new InputOutputColumnPair("Features", "TokenizedWords") }));
var model = estimator.Fit(dataView);
var dataPipe = mlContext.Model.CreatePredictionEngine(model);
@@ -1008,7 +1008,7 @@ public void TensorFlowSentimentClassificationTest()
// c.f. https://github.com/dotnet/machinelearning-testdata/blob/master/Microsoft.ML.TensorFlow.TestModels/sentiment_model/README.md
string modelLocation = @"sentiment_model";
var pipelineModel = mlContext.Model.LoadTensorFlowModel(modelLocation).ScoreTensorFlowModel(new[] { "Prediction/Softmax" }, new[] { "Features" })
- .Append(mlContext.Transforms.CopyColumns(("Prediction", "Prediction/Softmax")))
+ .Append(mlContext.Transforms.CopyColumns("Prediction", "Prediction/Softmax"))
.Fit(dataView);
var tfEnginePipe = mlContext.Model.CreatePredictionEngine(pipelineModel);
@@ -1052,7 +1052,7 @@ public void TensorFlowStringTest()
var dataview = mlContext.Data.CreateTextLoader().Load(new MultiFileSource(null));
var pipeline = tensorFlowModel.ScoreTensorFlowModel(new[] { "Original_A", "Joined_Splited_Text" }, new[] { "A", "B" })
- .Append(mlContext.Transforms.CopyColumns(("AOut", "Original_A"), ("BOut", "Joined_Splited_Text")));
+ .Append(mlContext.Transforms.CopyColumns(new[] { new InputOutputColumnPair("AOut", "Original_A"), new InputOutputColumnPair("BOut", "Joined_Splited_Text") }));
var transformer = mlContext.Model.CreatePredictionEngine(pipeline.Fit(dataview));
var input = new TextInput
diff --git a/test/Microsoft.ML.Tests/Transformers/KeyToBinaryVectorEstimatorTest.cs b/test/Microsoft.ML.Tests/Transformers/KeyToBinaryVectorEstimatorTest.cs
index 0b9d1dd190..4dfe700764 100644
--- a/test/Microsoft.ML.Tests/Transformers/KeyToBinaryVectorEstimatorTest.cs
+++ b/test/Microsoft.ML.Tests/Transformers/KeyToBinaryVectorEstimatorTest.cs
@@ -51,7 +51,7 @@ public void KeyToBinaryVectorWorkout()
new ValueToKeyMappingEstimator.ColumnOptions("TermC", "C", addKeyValueAnnotationsAsText:true)
}).Fit(dataView).Transform(dataView);
- var pipe = ML.Transforms.Conversion.MapKeyToBinaryVector(("CatA", "TermA"), ("CatC", "TermC"));
+ var pipe = ML.Transforms.Conversion.MapKeyToBinaryVector(new[] { new InputOutputColumnPair("CatA", "TermA"), new InputOutputColumnPair("CatC", "TermC") });
TestEstimatorCore(pipe, dataView);
Done();
}
@@ -105,7 +105,12 @@ public void TestMetadataPropagation()
var termTransformer = termEst.Fit(dataView);
dataView = termTransformer.Transform(dataView);
- var pipe = ML.Transforms.Conversion.MapKeyToBinaryVector(("CatA", "TA"), ("CatB", "TB"), ("CatC", "TC"), ("CatD", "TD"));
+ var pipe = ML.Transforms.Conversion.MapKeyToBinaryVector(new[] {
+ new InputOutputColumnPair("CatA", "TA"),
+ new InputOutputColumnPair("CatB", "TB"),
+ new InputOutputColumnPair("CatC", "TC"),
+ new InputOutputColumnPair("CatD", "TD")
+ });
var result = pipe.Fit(dataView).Transform(dataView);
ValidateMetadata(result);
@@ -155,7 +160,7 @@ public void TestOldSavingAndLoading()
});
var transformer = est.Fit(dataView);
dataView = transformer.Transform(dataView);
- var pipe = ML.Transforms.Conversion.MapKeyToBinaryVector(("CatA", "TermA"), ("CatB", "TermB"), ("CatC", "TermC"));
+ var pipe = ML.Transforms.Conversion.MapKeyToBinaryVector(new[] { new InputOutputColumnPair("CatA", "TermA"), new InputOutputColumnPair("CatB", "TermB"), new InputOutputColumnPair("CatC", "TermC") });
var result = pipe.Fit(dataView).Transform(dataView);
var resultRoles = new RoleMappedData(result);
using (var ms = new MemoryStream())
diff --git a/test/Microsoft.ML.Tests/Transformers/NormalizerTests.cs b/test/Microsoft.ML.Tests/Transformers/NormalizerTests.cs
index 54cb4da52a..5b0b01abc7 100644
--- a/test/Microsoft.ML.Tests/Transformers/NormalizerTests.cs
+++ b/test/Microsoft.ML.Tests/Transformers/NormalizerTests.cs
@@ -225,7 +225,7 @@ public void SimpleConstructorsAndExtensions()
var est1 = new NormalizingEstimator(Env, "float4");
var est2 = new NormalizingEstimator(Env, NormalizingEstimator.NormalizationMode.MinMax, ("float4", "float4"));
var est3 = new NormalizingEstimator(Env, new NormalizingEstimator.MinMaxColumnOptions("float4"));
- var est4 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.MinMax, ("float4", "float4"));
+ var est4 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.MinMax);
var est5 = ML.Transforms.Normalize("float4");
var data1 = est1.Fit(data).Transform(data);
@@ -246,7 +246,7 @@ public void SimpleConstructorsAndExtensions()
// Tests for MeanVariance
var est6 = new NormalizingEstimator(Env, NormalizingEstimator.NormalizationMode.MeanVariance, ("float4", "float4"));
var est7 = new NormalizingEstimator(Env, new NormalizingEstimator.MeanVarianceColumnOptions("float4"));
- var est8 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.MeanVariance, ("float4", "float4"));
+ var est8 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.MeanVariance);
var data6 = est6.Fit(data).Transform(data);
var data7 = est7.Fit(data).Transform(data);
@@ -259,7 +259,7 @@ public void SimpleConstructorsAndExtensions()
// Tests for LogMeanVariance
var est9 = new NormalizingEstimator(Env, NormalizingEstimator.NormalizationMode.LogMeanVariance, ("float4", "float4"));
var est10 = new NormalizingEstimator(Env, new NormalizingEstimator.LogMeanVarianceColumnOptions("float4"));
- var est11 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.LogMeanVariance, ("float4", "float4"));
+ var est11 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.LogMeanVariance);
var data9 = est9.Fit(data).Transform(data);
var data10 = est10.Fit(data).Transform(data);
@@ -272,7 +272,7 @@ public void SimpleConstructorsAndExtensions()
// Tests for Binning
var est12 = new NormalizingEstimator(Env, NormalizingEstimator.NormalizationMode.Binning, ("float4", "float4"));
var est13 = new NormalizingEstimator(Env, new NormalizingEstimator.BinningColumnOptions("float4"));
- var est14 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.Binning, ("float4", "float4"));
+ var est14 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.Binning);
var data12 = est12.Fit(data).Transform(data);
var data13 = est13.Fit(data).Transform(data);
@@ -285,7 +285,7 @@ public void SimpleConstructorsAndExtensions()
// Tests for SupervisedBinning
var est15 = new NormalizingEstimator(Env, NormalizingEstimator.NormalizationMode.SupervisedBinning, ("float4", "float4"));
var est16 = new NormalizingEstimator(Env, new NormalizingEstimator.SupervisedBinningColumOptions("float4"));
- var est17 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.SupervisedBinning, ("float4", "float4"));
+ var est17 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.SupervisedBinning);
var data15 = est15.Fit(data).Transform(data);
var data16 = est16.Fit(data).Transform(data);
@@ -314,11 +314,11 @@ public void NormalizerExperimentalExtensions()
var data = loader.Load(dataPath);
// Normalizer Extensions
- var est1 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.MinMax, ("float4", "float4"));
- var est2 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.MeanVariance, ("float4", "float4"));
- var est3 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.LogMeanVariance, ("float4", "float4"));
- var est4 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.Binning, ("float4", "float4"));
- var est5 = ML.Transforms.Normalize(NormalizingEstimator.NormalizationMode.SupervisedBinning, ("float4", "float4"));
+ var est1 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.MinMax);
+ var est2 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.MeanVariance);
+ var est3 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.LogMeanVariance);
+ var est4 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.Binning);
+ var est5 = ML.Transforms.Normalize("float4", "float4", NormalizingEstimator.NormalizationMode.SupervisedBinning);
// Normalizer Extensions (Experimental)
var est6 = ML.Transforms.NormalizeMinMax("float4", "float4");
diff --git a/test/Microsoft.ML.Tests/Transformers/ValueMappingTests.cs b/test/Microsoft.ML.Tests/Transformers/ValueMappingTests.cs
index f6de4553db..090ab7e9d4 100644
--- a/test/Microsoft.ML.Tests/Transformers/ValueMappingTests.cs
+++ b/test/Microsoft.ML.Tests/Transformers/ValueMappingTests.cs
@@ -515,7 +515,7 @@ public void ValueMappingWorkout()
};
// Workout on value mapping
- var est = ML.Transforms.Conversion.MapValue(keyValuePairs, new ColumnOptions[] { ("D", "A"), ("E", "B"), ("F", "C") });
+ var est = ML.Transforms.Conversion.MapValue(keyValuePairs, new[] { new InputOutputColumnPair("D", "A"), new InputOutputColumnPair("E", "B"), new InputOutputColumnPair("F", "C") });
TestEstimatorCore(est, validFitInput: dataView, invalidInput: badDataView);
}
@@ -534,7 +534,7 @@ public void ValueMappingValueTypeIsVectorWorkout()
};
// Workout on value mapping
- var est = ML.Transforms.Conversion.MapValue(keyValuePairs, new ColumnOptions[] { ("D", "A"), ("E", "B"), ("F", "C") });
+ var est = ML.Transforms.Conversion.MapValue(keyValuePairs, new[] { new InputOutputColumnPair("D", "A"), new InputOutputColumnPair("E", "B"), new InputOutputColumnPair("F", "C") });
TestEstimatorCore(est, validFitInput: dataView, invalidInput: badDataView);
}
@@ -555,7 +555,7 @@ public void ValueMappingInputIsVectorWorkout()
};
var est = ML.Transforms.Text.TokenizeIntoWords("TokenizeB", "B")
- .Append(ML.Transforms.Conversion.MapValue(keyValuePairs, new ColumnOptions[] { ("VecB", "TokenizeB") }));
+ .Append(ML.Transforms.Conversion.MapValue("VecB", keyValuePairs, "TokenizeB"));
TestEstimatorCore(est, validFitInput: dataView, invalidInput: badDataView);
}