@@ -24,7 +24,7 @@ public void TrainerGeneratorBasicNamedParameterTest()
2424 { "LearningRate" , 0.1f } ,
2525 { "NumLeaves" , 1 } ,
2626 } ;
27- PipelineNode node = new PipelineNode ( "LightGbmBinary" , PipelineNodeType . Trainer , new string [ ] { "Label" } , default ( string ) , elementProperties ) ;
27+ PipelineNode node = new PipelineNode ( "LightGbmBinary" , PipelineNodeType . Trainer , default ( string [ ] ) , default ( string ) , elementProperties ) ;
2828 Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
2929 CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
3030 var actual = codeGenerator . GenerateTrainerAndUsings ( ) ;
@@ -44,7 +44,7 @@ public void TrainerGeneratorBasicAdvancedParameterTest()
4444 { "NumLeaves" , 1 } ,
4545 { "UseSoftmax" , true }
4646 } ;
47- PipelineNode node = new PipelineNode ( "LightGbmBinary" , PipelineNodeType . Trainer , new string [ ] { "Label" } , default ( string ) , elementProperties ) ;
47+ PipelineNode node = new PipelineNode ( "LightGbmBinary" , PipelineNodeType . Trainer , default ( string [ ] ) , default ( string ) , elementProperties ) ;
4848 Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
4949 CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
5050 var actual = codeGenerator . GenerateTrainerAndUsings ( ) ;
@@ -169,159 +169,5 @@ public void TrainerComplexParameterTest()
169169 Assert . AreEqual ( expectedUsings , actual . Item2 ) ;
170170
171171 }
172-
173- #region Transform Tests
174- [ TestMethod ]
175- public void MissingValueReplacingTest ( )
176- {
177- var context = new MLContext ( ) ;
178- var elementProperties = new Dictionary < string , object > ( ) ; //categorical
179- PipelineNode node = new PipelineNode ( "MissingValueReplacing" , PipelineNodeType . Transform , new string [ ] { "categorical_column_1" } , new string [ ] { "categorical_column_1" } , elementProperties ) ;
180- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
181- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
182- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
183- var expectedTransform = "ReplaceMissingValues(new []{new MissingValueReplacingTransformer.ColumnInfo(\" categorical_column_1\" ,\" categorical_column_1\" )})" ;
184- string expectedUsings = "using Microsoft.ML.Transforms;\r \n " ;
185- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
186- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
187- }
188-
189- [ TestMethod ]
190- public void OneHotEncodingTest ( )
191- {
192- var context = new MLContext ( ) ;
193- var elementProperties = new Dictionary < string , object > ( ) ; //categorical
194- PipelineNode node = new PipelineNode ( "OneHotEncoding" , PipelineNodeType . Transform , new string [ ] { "categorical_column_1" } , new string [ ] { "categorical_column_1" } , elementProperties ) ;
195- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
196- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
197- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
198- string expectedTransform = "Categorical.OneHotEncoding(new []{new OneHotEncodingEstimator.ColumnInfo(\" categorical_column_1\" ,\" categorical_column_1\" )})" ;
199- var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r \n " ;
200- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
201- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
202- }
203-
204- [ TestMethod ]
205- public void NormalizingTest ( )
206- {
207- var context = new MLContext ( ) ;
208- var elementProperties = new Dictionary < string , object > ( ) ;
209- PipelineNode node = new PipelineNode ( "Normalizing" , PipelineNodeType . Transform , new string [ ] { "numeric_column_1" } , new string [ ] { "numeric_column_1_copy" } , elementProperties ) ;
210- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
211- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
212- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
213- string expectedTransform = "Normalize(\" numeric_column_1_copy\" ,\" numeric_column_1\" )" ;
214- string expectedUsings = null ;
215- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
216- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
217- }
218-
219- [ TestMethod ]
220- public void ColumnConcatenatingTest ( )
221- {
222- var context = new MLContext ( ) ;
223- var elementProperties = new Dictionary < string , object > ( ) ;
224- PipelineNode node = new PipelineNode ( "ColumnConcatenating" , PipelineNodeType . Transform , new string [ ] { "numeric_column_1" , "numeric_column_2" } , new string [ ] { "Features" } , elementProperties ) ;
225- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
226- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
227- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
228- string expectedTransform = "Concatenate(\" Features\" ,new []{\" numeric_column_1\" ,\" numeric_column_2\" })" ;
229- string expectedUsings = null ;
230- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
231- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
232- }
233-
234- [ TestMethod ]
235- public void ColumnCopyingTest ( )
236- {
237- var context = new MLContext ( ) ;
238- var elementProperties = new Dictionary < string , object > ( ) ; //nume to num feature 2
239- PipelineNode node = new PipelineNode ( "ColumnCopying" , PipelineNodeType . Transform , new string [ ] { "numeric_column_1" } , new string [ ] { "numeric_column_2" } , elementProperties ) ;
240- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
241- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
242- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
243- string expectedTransform = "CopyColumns(\" numeric_column_2\" ,\" numeric_column_1\" )" ;
244- string expectedUsings = null ;
245- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
246- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
247- }
248-
249- [ TestMethod ]
250- public void MissingValueIndicatingTest ( )
251- {
252- var context = new MLContext ( ) ;
253- var elementProperties = new Dictionary < string , object > ( ) ; //numeric feature
254- PipelineNode node = new PipelineNode ( "MissingValueIndicating" , PipelineNodeType . Transform , new string [ ] { "numeric_column_1" } , new string [ ] { "numeric_column_1" } , elementProperties ) ;
255- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
256- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
257- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
258- string expectedTransform = "IndicateMissingValues(new []{(\" numeric_column_1\" ,\" numeric_column_1\" )})" ;
259- string expectedUsings = null ;
260- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
261- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
262- }
263-
264- [ TestMethod ]
265- public void OneHotHashEncodingTest ( )
266- {
267- var context = new MLContext ( ) ;
268- var elementProperties = new Dictionary < string , object > ( ) ;
269- PipelineNode node = new PipelineNode ( "OneHotHashEncoding" , PipelineNodeType . Transform , new string [ ] { "Categorical_column_1" } , new string [ ] { "Categorical_column_1" } , elementProperties ) ;
270- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
271- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
272- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
273- string expectedTransform = "Categorical.OneHotHashEncoding(new []{new OneHotHashEncodingEstimator.ColumnInfo(\" Categorical_column_1\" ,\" Categorical_column_1\" )})" ;
274- var expectedUsings = "using Microsoft.ML.Transforms.Categorical;\r \n " ;
275- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
276- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
277- }
278-
279- [ TestMethod ]
280- public void TextFeaturizingTest ( )
281- {
282- var context = new MLContext ( ) ;
283- var elementProperties = new Dictionary < string , object > ( ) ;
284- PipelineNode node = new PipelineNode ( "TextFeaturizing" , PipelineNodeType . Transform , new string [ ] { "Text_column_1" } , new string [ ] { "Text_column_1" } , elementProperties ) ;
285- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
286- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
287- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
288- string expectedTransform = "Text.FeaturizeText(\" Text_column_1\" ,\" Text_column_1\" )" ;
289- string expectedUsings = null ;
290- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
291- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
292- }
293-
294- [ TestMethod ]
295- public void TypeConvertingTest ( )
296- {
297- var context = new MLContext ( ) ;
298- var elementProperties = new Dictionary < string , object > ( ) ;
299- PipelineNode node = new PipelineNode ( "TypeConverting" , PipelineNodeType . Transform , new string [ ] { "I4_column_1" } , new string [ ] { "R4_column_1" } , elementProperties ) ;
300- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
301- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
302- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
303- string expectedTransform = "Conversion.ConvertType(new []{new TypeConvertingTransformer.ColumnInfo(\" R4_column_1\" ,DataKind.R4,\" I4_column_1\" )})" ;
304- string expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r \n " ;
305- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
306- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
307- }
308-
309- [ TestMethod ]
310- public void ValueToKeyMappingTest ( )
311- {
312- var context = new MLContext ( ) ;
313- var elementProperties = new Dictionary < string , object > ( ) ;
314- PipelineNode node = new PipelineNode ( "ValueToKeyMapping" , PipelineNodeType . Transform , new string [ ] { "Label" } , new string [ ] { "Label" } , elementProperties ) ;
315- Pipeline pipeline = new Pipeline ( new PipelineNode [ ] { node } ) ;
316- CodeGenerator codeGenerator = new CodeGenerator ( pipeline , null , null ) ;
317- var actual = codeGenerator . GenerateTransformsAndUsings ( ) ;
318- string expectedTransform = "Conversion.MapValueToKey(\" Label\" ,\" Label\" )" ;
319- var expectedUsings = "using Microsoft.ML.Transforms.Conversions;\r \n " ;
320- Assert . AreEqual ( expectedTransform , actual [ 0 ] . Item1 ) ;
321- Assert . AreEqual ( expectedUsings , actual [ 0 ] . Item2 ) ;
322- }
323-
324- #endregion
325-
326172 }
327173}
0 commit comments