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)); }
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)); }
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); }