public void RocAucRegressionMetric_Error_Not_Binary() { var targets = new double[] { 0, 1, 2 }; var probabilities = new double[0]; var sut = new RocAucRegressionMetric(1); var actual = sut.Error(targets, probabilities); }
public void RocAucRegressionMetric_Error_No_Error() { var targets = new double[] { 0, 1 }; var probabilities = new double[] { 0.0, 1 }; var sut = new RocAucRegressionMetric(1); var actual = sut.Error(targets, probabilities); Assert.AreEqual(0.0, actual); }
public void RocAucRegressionMetric_Error() { var targets = new double[] { 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1 }; var probabilities = new double[] { 0.052380952, 0.020725389, 0.993377483, 0.020725389, 0.020725389, 0.111111111, 0.193377483, 0.793377483, 0.020725389, 0.012345679, 0.885860173, 0.714285714, 0.985860173, 0.020725389, 0.985860173, 0.993377483, 0.993377483, 0.954545455, 0.020725389, 0.020725389, 0.985860173, 0.985860173 }; var sut = new RocAucRegressionMetric(1); var actual = sut.Error(targets, probabilities); Assert.AreEqual(0.0085470085470086277, actual, 0.00001); }
public void RocAucRegressionMetric_Error_Using_Mapping() { var targets = new double[] { 1, 0, 1, 0, 0, 0, 1, 3, 0, 0, 1, 1, 3, 0, 1, 1, 3, 2, 0, 0, 2, 1 }; var probabilities = new double[] { 0.052380952, 0.020725389, 0.993377483, 0.020725389, 0.020725389, 0.111111111, 0.193377483, 0.793377483, 0.020725389, 0.012345679, 0.885860173, 0.714285714, 0.985860173, 0.020725389, 0.985860173, 0.993377483, 0.993377483, 0.954545455, 0.020725389, 0.020725389, 0.985860173, 0.985860173 }; var sut = new RocAucRegressionMetric(1, new Dictionary <double, double> { { 0.0, 0.0 }, { 1.0, 1.0 }, { 2.0, 1.0 }, { 3.0, 1.0 } }); var actual = sut.Error(targets, probabilities); Assert.AreEqual(0.0085470085470086277, actual, 0.00001); }
public void RocAucRegressionMetric_Error_Random() { var positives = Enumerable.Range(0, 800).Select(s => 1.0).ToList(); var negatives = Enumerable.Range(0, 800).Select(s => 0.0).ToList(); positives.AddRange(negatives); var targets = positives.ToArray(); var random = new Random(42); var probabilities = targets.Select(s => random.NextDouble()).ToArray(); var sut = new RocAucRegressionMetric(1); var actual = sut.Error(targets, probabilities); Assert.AreEqual(0.488959375, actual, 0.0001); }
public void RocAucRegressionMetric_Error_Always_Positve() { var positives = Enumerable.Range(0, 800).Select(s => 1.0).ToList(); var negatives = Enumerable.Range(0, 200).Select(s => 0.0).ToList(); positives.AddRange(negatives); var targets = positives.ToArray(); var probabilities = targets .Select(s => 1.0) .ToArray(); var sut = new RocAucRegressionMetric(1); var actual = sut.Error(targets, probabilities); Assert.AreEqual(0.5, actual, 0.0001); }