Skip to content

Commit 9b5e52b

Browse files
authored
-0 parsing corrected and digitsofPrecision added (#1320)
* -0 parsing added and digitsofPrecision added * regex edited to include wordAssert and precisionDigit 2 removed * keeping the min for digitsof precision as 3 * Adding comment about regex and removing extra digits
1 parent b88aaba commit 9b5e52b

File tree

6 files changed

+26
-24
lines changed

6 files changed

+26
-24
lines changed

test/Microsoft.ML.Core.Tests/UnitTests/TestCSharpApi.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,9 +374,9 @@ public void TestCrossValidationMacro()
374374
foldGetter(ref fold);
375375
Assert.True(ReadOnlyMemoryUtils.EqualsStr("Standard Deviation", fold));
376376
if (w == 1)
377-
Assert.Equal(1.584696, stdev, 6);
377+
Assert.Equal(1.585, stdev, 3);
378378
else
379-
Assert.Equal(1.385165, stdev, 6);
379+
Assert.Equal(1.39, stdev, 2);
380380
isWeightedGetter(ref isWeighted);
381381
Assert.True(isWeighted == (w == 1));
382382
}

test/Microsoft.ML.Core.Tests/UnitTests/TestEntryPoints.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3631,10 +3631,10 @@ public void EntryPointLinearPredictorSummary()
36313631
DataSaverUtils.SaveDataView(ch, saver, mcOutput.Stats, file);
36323632
}
36333633

3634-
CheckEquality(@"../Common/EntryPoints", "lr-weights.txt");
3635-
CheckEquality(@"../Common/EntryPoints", "lr-stats.txt");
3636-
CheckEquality(@"../Common/EntryPoints", "mc-lr-weights.txt");
3637-
CheckEquality(@"../Common/EntryPoints", "mc-lr-stats.txt");
3634+
CheckEquality(@"../Common/EntryPoints", "lr-weights.txt", digitsOfPrecision: 6);
3635+
CheckEquality(@"../Common/EntryPoints", "lr-stats.txt", digitsOfPrecision: 6);
3636+
CheckEquality(@"../Common/EntryPoints", "mc-lr-weights.txt", digitsOfPrecision: 3);
3637+
CheckEquality(@"../Common/EntryPoints", "mc-lr-stats.txt", digitsOfPrecision: 5);
36383638
Done();
36393639
}
36403640

@@ -3676,7 +3676,7 @@ public void EntryPointPcaPredictorSummary()
36763676
DataSaverUtils.SaveDataView(ch, saver, output.Summary, file);
36773677
}
36783678

3679-
CheckEquality(@"../Common/EntryPoints", "pca-weights.txt");
3679+
CheckEquality(@"../Common/EntryPoints", "pca-weights.txt", digitsOfPrecision: 4);
36803680
Done();
36813681
}
36823682
}

test/Microsoft.ML.Predictor.Tests/TestPredictors.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public void BinaryClassifierPerceptronTest()
111111
{
112112
var binaryPredictors = new[] { TestLearners.perceptron };
113113
var binaryClassificationDatasets = GetDatasetsForBinaryClassifierBaseTest();
114-
RunAllTests(binaryPredictors, binaryClassificationDatasets);
114+
RunAllTests(binaryPredictors, binaryClassificationDatasets, digitsOfPrecision: 6);
115115
Done();
116116
}
117117

@@ -256,7 +256,7 @@ public void LinearClassifierTest()
256256
TestLearners.binarySgdHinge
257257
};
258258
var binaryClassificationDatasets = GetDatasetsForBinaryClassifierBaseTest();
259-
RunAllTests(binaryPredictors, binaryClassificationDatasets);
259+
RunAllTests(binaryPredictors, binaryClassificationDatasets, digitsOfPrecision: 5);
260260
Done();
261261
}
262262

@@ -268,7 +268,7 @@ public void LinearClassifierTest()
268268
public void BinaryClassifierLogisticRegressionTest()
269269
{
270270
var binaryPredictors = new[] { TestLearners.logisticRegression };
271-
RunOneAllTests(TestLearners.logisticRegression, TestDatasets.breastCancer, summary: true);
271+
RunOneAllTests(TestLearners.logisticRegression, TestDatasets.breastCancer, summary: true, digitsOfPrecision: 3);
272272
// RunOneAllTests(TestLearners.logisticRegression, TestDatasets.msm);
273273
Done();
274274
}
@@ -281,7 +281,7 @@ public void BinaryClassifierSymSgdTest()
281281
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
282282
return;
283283

284-
RunOneAllTests(TestLearners.symSGD, TestDatasets.breastCancer, summary: true);
284+
RunOneAllTests(TestLearners.symSGD, TestDatasets.breastCancer, summary: true, digitsOfPrecision: 4);
285285
Done();
286286
}
287287

@@ -291,7 +291,7 @@ public void BinaryClassifierTesterThresholdingTest()
291291
{
292292
var binaryPredictors = new[] { TestLearners.logisticRegression };
293293
var binaryClassificationDatasets = new[] { TestDatasets.breastCancer };
294-
RunAllTests(binaryPredictors, binaryClassificationDatasets, new[] { "eval=BinaryClassifier{threshold=0.95 useRawScore=-}" }, "withThreshold");
294+
RunAllTests(binaryPredictors, binaryClassificationDatasets, new[] { "eval=BinaryClassifier{threshold=0.95 useRawScore=-}" }, "withThreshold", digitsOfPrecision: 3);
295295
Done();
296296
}
297297

@@ -304,7 +304,7 @@ public void BinaryClassifierLogisticRegressionNormTest()
304304
{
305305
var binaryPredictors = new[] { TestLearners.logisticRegressionNorm };
306306
var binaryClassificationDatasets = GetDatasetsForBinaryClassifierBaseTest();
307-
RunAllTests(binaryPredictors, binaryClassificationDatasets);
307+
RunAllTests(binaryPredictors, binaryClassificationDatasets, digitsOfPrecision: 5);
308308
Done();
309309
}
310310

@@ -330,7 +330,7 @@ public void BinaryClassifierLogisticRegressionBinNormTest()
330330
{
331331
var binaryPredictors = new[] { TestLearners.logisticRegressionBinNorm };
332332
var binaryClassificationDatasets = GetDatasetsForBinaryClassifierBaseTest();
333-
RunAllTests(binaryPredictors, binaryClassificationDatasets);
333+
RunAllTests(binaryPredictors, binaryClassificationDatasets, digitsOfPrecision: 6);
334334
Done();
335335
}
336336

@@ -343,7 +343,7 @@ public void BinaryClassifierLogisticRegressionGaussianNormTest()
343343
{
344344
var binaryPredictors = new[] { TestLearners.logisticRegressionGaussianNorm };
345345
var binaryClassificationDatasets = GetDatasetsForBinaryClassifierBaseTest();
346-
RunAllTests(binaryPredictors, binaryClassificationDatasets);
346+
RunAllTests(binaryPredictors, binaryClassificationDatasets, digitsOfPrecision: 4);
347347
Done();
348348
}
349349

@@ -1155,7 +1155,7 @@ public void RegressorOlsTest()
11551155
[TestCategory("Regressor")]
11561156
public void RegressorOlsTestOne()
11571157
{
1158-
Run_TrainTest(TestLearners.Ols, TestDatasets.generatedRegressionDataset);
1158+
Run_TrainTest(TestLearners.Ols, TestDatasets.generatedRegressionDataset, digitsOfPrecision: 4);
11591159
Done();
11601160
}
11611161

@@ -1599,7 +1599,7 @@ public void RandomCalibratorPerceptronTest()
15991599
public void NoCalibratorLinearSvmTest()
16001600
{
16011601
var datasets = GetDatasetsForCalibratorTest();
1602-
RunAllTests(new[] { TestLearners.linearSVM }, datasets, new string[] { "cali={}" }, "nocalibration");
1602+
RunAllTests(new[] { TestLearners.linearSVM }, datasets, new string[] { "cali={}" }, "nocalibration", digitsOfPrecision: 6);
16031603
Done();
16041604
}
16051605

@@ -1611,7 +1611,7 @@ public void NoCalibratorLinearSvmTest()
16111611
public void PAVCalibratorLinearSvmTest()
16121612
{
16131613
var datasets = GetDatasetsForCalibratorTest();
1614-
RunAllTests(new[] { TestLearners.linearSVM }, datasets, new string[] { "cali=PAV" }, "PAVcalibration");
1614+
RunAllTests(new[] { TestLearners.linearSVM }, datasets, new string[] { "cali=PAV" }, "PAVcalibration", digitsOfPrecision: 5);
16151615
Done();
16161616
}
16171617

@@ -1741,8 +1741,8 @@ public void NnConfigTests()
17411741
[TestCategory("Anomaly")]
17421742
public void PcaAnomalyTest()
17431743
{
1744-
Run_TrainTest(TestLearners.PCAAnomalyDefault, TestDatasets.mnistOneClass);
1745-
Run_TrainTest(TestLearners.PCAAnomalyNoNorm, TestDatasets.mnistOneClass);
1744+
Run_TrainTest(TestLearners.PCAAnomalyDefault, TestDatasets.mnistOneClass, digitsOfPrecision: 5);
1745+
Run_TrainTest(TestLearners.PCAAnomalyNoNorm, TestDatasets.mnistOneClass, digitsOfPrecision: 5);
17461746

17471747
// REVIEW: This next test was misbehaving in a strange way that seems to have gone away
17481748
// mysteriously (bad build?).

test/Microsoft.ML.TestFramework/BaseTestBaseline.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,9 @@ protected bool CheckEqualityFromPathsCore(string relPath, string basePath, strin
506506

507507
private void GetNumbersFromFile(ref string firstString, ref string secondString, int digitsOfPrecision)
508508
{
509-
Regex _matchNumer = new Regex(@"\b[0-9]+\.?[0-9]*(E-[0-9]*)?\b", RegexOptions.IgnoreCase | RegexOptions.Compiled);
509+
// The Regex matches both positive and negative decimal point numbers present in a string.
510+
// The numbers could be a part of a word. They can also be in Exponential form eg. 3E-9
511+
Regex _matchNumer = new Regex(@"-?\b[0-9]+\.?[0-9]*(E-[0-9]*)?\b", RegexOptions.IgnoreCase | RegexOptions.Compiled);
510512
MatchCollection firstCollection = _matchNumer.Matches(firstString);
511513
MatchCollection secondCollection = _matchNumer.Matches(secondString);
512514

test/Microsoft.ML.Tests/OnnxTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ public void BinaryClassificationLRSaveModelToOnnxTest()
518518
fileText = Regex.Replace(fileText, "\"producerVersion\": \"([^\"]+)\"", "\"producerVersion\": \"##VERSION##\"");
519519
File.WriteAllText(onnxAsJsonPath, fileText);
520520

521-
CheckEquality(subDir, "BinaryClassificationLRSaveModelToOnnxTest.json");
521+
CheckEquality(subDir, "BinaryClassificationLRSaveModelToOnnxTest.json", digitsOfPrecision: 3);
522522
Done();
523523
}
524524

@@ -580,7 +580,7 @@ public void MultiClassificationLRSaveModelToOnnxTest()
580580
fileText = Regex.Replace(fileText, "\"producerVersion\": \"([^\"]+)\"", "\"producerVersion\": \"##VERSION##\"");
581581
File.WriteAllText(onnxAsJsonPath, fileText);
582582

583-
CheckEquality(subDir, "MultiClassificationLRSaveModelToOnnxTest.json");
583+
CheckEquality(subDir, "MultiClassificationLRSaveModelToOnnxTest.json", digitsOfPrecision: 4);
584584
Done();
585585
}
586586

test/Microsoft.ML.Tests/Transformers/PcaTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public void TestPcaEstimator()
6767
DataSaverUtils.SaveDataView(ch, _saver, savedData, fs, keepHidden: true);
6868
}
6969

70-
CheckEquality("PCA", "pca.tsv");
70+
CheckEquality("PCA", "pca.tsv", digitsOfPrecision: 4);
7171
Done();
7272
}
7373
}

0 commit comments

Comments
 (0)