예제 #1
0
        public void RegressionMetricsNonPerfectTest()
        {
            var metrics = MetricsUtil.CreateRegressionMetrics(0.2, 0.3, 0.4, 0.5, 0.6);

            Assert.False(IsPerfectModel(metrics, RegressionMetric.MeanAbsoluteError));
            Assert.False(IsPerfectModel(metrics, RegressionMetric.MeanSquaredError));
            Assert.False(IsPerfectModel(metrics, RegressionMetric.RootMeanSquaredError));
            Assert.False(IsPerfectModel(metrics, RegressionMetric.RSquared));
        }
예제 #2
0
        public void RegressionMetricsPerfectTest()
        {
            var metrics = MetricsUtil.CreateRegressionMetrics(0, 0, 0, 0, 1);

            Assert.True(IsPerfectModel(metrics, RegressionMetric.MeanAbsoluteError));
            Assert.True(IsPerfectModel(metrics, RegressionMetric.MeanSquaredError));
            Assert.True(IsPerfectModel(metrics, RegressionMetric.RootMeanSquaredError));
            Assert.True(IsPerfectModel(metrics, RegressionMetric.RSquared));
        }
예제 #3
0
        public void RegressionMetricsGetScoreTest()
        {
            var metrics = MetricsUtil.CreateRegressionMetrics(0.2, 0.3, 0.4, 0.5, 0.6);

            Assert.Equal(0.2, GetScore(metrics, RegressionMetric.MeanAbsoluteError));
            Assert.Equal(0.3, GetScore(metrics, RegressionMetric.MeanSquaredError));
            Assert.Equal(0.4, GetScore(metrics, RegressionMetric.RootMeanSquaredError));
            Assert.Equal(0.6, GetScore(metrics, RegressionMetric.RSquared));
        }
        public void FindBestResultWithSomeNullMetrics()
        {
            var metrics1 = MetricsUtil.CreateRegressionMetrics(0.2, 0.2, 0.2, 0.2, 0.2);
            var metrics2 = MetricsUtil.CreateRegressionMetrics(0.3, 0.3, 0.3, 0.3, 0.3);
            var metrics3 = MetricsUtil.CreateRegressionMetrics(0.1, 0.1, 0.1, 0.1, 0.1);

            var runResults = new List <RunDetail <RegressionMetrics> >()
            {
                new RunDetail <RegressionMetrics>(null, null, null, null, null, null),
                new RunDetail <RegressionMetrics>(null, null, null, null, metrics1, null),
                new RunDetail <RegressionMetrics>(null, null, null, null, metrics2, null),
                new RunDetail <RegressionMetrics>(null, null, null, null, metrics3, null),
            };

            var metricsAgent = new RegressionMetricsAgent(null, RegressionMetric.RSquared);
            var bestResult   = BestResultUtil.GetBestRun(runResults, metricsAgent, true);

            Assert.Equal(0.3, bestResult.ValidationMetrics.RSquared);
        }