Esempio n. 1
0
        internal static VowpalWabbitPerformanceStatistics ReadPerformanceStatistics(string filename)
        {
            var lines = File.ReadAllLines(filename);
            var stats = new VowpalWabbitPerformanceStatistics()
            {
                NumberOfExamplesPerPass = FindULongEntry(lines, "number of examples per pass = "******"total feature number = "),
                AverageLoss             = FindDoubleEntry(lines, "average loss = "),
                BestConstant            = FindDoubleEntry(lines, "best constant = "),
                BestConstantLoss        = FindDoubleEntry(lines, "best constant's loss = "),
                WeightedExampleSum      = FindDoubleEntry(lines, "weighted example sum = "),
                WeightedLabelSum        = FindDoubleEntry(lines, "weighted label sum = ")
            };

            return(stats);
        }
        internal static void AssertEqual(VowpalWabbitPerformanceStatistics expected, VowpalWabbitPerformanceStatistics actual)
        {
            if (expected.TotalNumberOfFeatures != actual.TotalNumberOfFeatures)
            {
                Console.Error.WriteLine(
                    "Warning: total number of features differs. Expected: {0} vs. actual: {1}",
                    expected.TotalNumberOfFeatures,
                    actual.TotalNumberOfFeatures);
            }

            Assert.AreEqual(expected.NumberOfExamplesPerPass, actual.NumberOfExamplesPerPass, "NumberOfExamplesPerPass");
            Assert.AreEqual(expected.AverageLoss, actual.AverageLoss, 1e-5, "AverageLoss");
            Assert.AreEqual(expected.BestConstant, actual.BestConstant, 1e-5, "BestConstant");
            // TODO: something weir'd is happening here. BestConstantsLoss is 0 if using RunAll
            // has the proper value if just the unit test is run
            //Console.WriteLine(expected.BestConstantLoss + " vs. " + actual.BestConstantLoss);
            //Assert.AreEqual(expected.BestConstantLoss, actual.BestConstantLoss, 1e-5);
            Assert.AreEqual(expected.WeightedExampleSum, actual.WeightedExampleSum, 1e-5, "WeightedExampleSum");
            Assert.AreEqual(expected.WeightedLabelSum, actual.WeightedLabelSum, 1e-5, "WeightedLabelSum");
        }
        internal static void AssertEqual(string expectedFile, VowpalWabbitPerformanceStatistics actual)
        {
            var expectedPerformanceStatistics = ReadPerformanceStatistics(expectedFile);

            AssertEqual(expectedPerformanceStatistics, actual);
        }