public void GetOneLabelClassificationMetrics_Recall() { var data = new EvaluateItem <double>[] { new EvaluateItem <double>(new[] { 0.0, 1.0 }, new[] { 0.0, 0.8 }), new EvaluateItem <double>(new[] { 1.0, 0.0 }, new[] { 0.4, 0.9 }), new EvaluateItem <double>(new[] { 1.0, 0.0 }, new[] { 0.7, 0.1 }), new EvaluateItem <double>(new[] { 0.0, 1.0 }, new[] { 0.0, 0.8 }), }; var metrics = data.GetOneLabelClassificationMetrics(); Assert.Equal(0.5, metrics.ClassesDistribution[0].Recall, 1); // 1/2=0.5 Assert.Equal(1, metrics.ClassesDistribution[1].Recall, 2); // 2/2=1 }
public void GetOneLabelClassificationMetrics_Precision() { var data = new EvaluateItem <double>[] { new EvaluateItem <double>(new[] { 0.0, 1.0 }, new[] { 0.0, 0.8 }), new EvaluateItem <double>(new[] { 1.0, 0.0 }, new[] { 0.4, 0.9 }), new EvaluateItem <double>(new[] { 1.0, 0.0 }, new[] { 0.7, 0.1 }), new EvaluateItem <double>(new[] { 0.0, 1.0 }, new[] { 0.0, 0.8 }), }; var metrics = data.GetOneLabelClassificationMetrics(); Assert.Equal(1, metrics.ClassesDistribution[0].Precision, 0); // 1/1=1 Assert.Equal(0.67, metrics.ClassesDistribution[1].Precision, 2); // 2/3=0.67 }