public static double ROCP <DomainType>( ReportROC report_0, ReportROC report_1) { TestROCHanleyMcNeil test = new TestROCHanleyMcNeil(); return(test.Test(report_0.Labels, report_0.Scores, report_1.Scores)); }
public void TestROCHanleyMcNeilTestKendrall2() { //After matlab example double[] c = new double[] { 1, 2, 3, -1, 0.0230, 0.0513, 0.8261, 1.5270 }; double[] d = new double[] { 2, 1, 3, -2, -0.4838, -0.7120, -1.1742, -0.1922 }; double kendrall = TestROCHanleyMcNeil.ComputeKendalTauA(c, d); // = 0.33 Assert.IsTrue(0.64 < kendrall); Assert.IsTrue(kendrall < 0.65); }
public void TestROCHanleyMcNeilTestKendrall1() { //After matlab example double[] c = new double[] { -0.1952, -0.2176, -0.3031, 0.0230, 0.0513, 0.8261, 1.5270, 0.4669, -0.2097, 0.6252, 0.1832, -1.0298, 0.9492, 0.3071, 0.1352, 0.5152, 0.2614, -0.9415, -0.1623, -0.1461 }; double[] d = new double[] { -0.5320, 1.6821, -0.8757, -0.4838, -0.7120, -1.1742, -0.1922, -0.2741, 1.5301, -0.2490, -1.0642, 1.6035, 1.2347, -0.2296, -1.5062, -0.4446, -0.1559, 0.2761, -0.2612, 0.4434 }; double kendrall = TestROCHanleyMcNeil.ComputeKendalTauA(c, d); // = -0.1684 Assert.IsTrue(-0.17 < kendrall); Assert.IsTrue(kendrall < -0.16); }
public void TestROCHanleyMcNeilTestKendrall0() { //After matlab example double[] a = new double[] { 0.5201, -0.0200, -0.0348, -0.7982, 1.0187, -0.1332, -0.7145, 1.3514, -0.2248, -0.5890, -0.2938, -0.8479, -1.1201, 2.5260, 1.6555, 0.3075, -1.2571, -0.8655, -0.1765, 0.7914 }; double[] b = new double[] { -1.3320, -2.3299, -1.4491, 0.3335, 0.3914, 0.4517, -0.1303, 0.1837, -0.4762, 0.8620, -1.3617, 0.4550, -0.8487, -0.3349, 0.5528, 1.0391, -1.1176, 1.2607, 0.6601, -0.0679 }; double kendrall = TestROCHanleyMcNeil.ComputeKendalTauA(a, b); // = -0.0211 Assert.IsTrue(-0.022 < kendrall); Assert.IsTrue(kendrall < -0.021); }
public void TestROCHanleyMcNeilTestComputeStandardError0() { Random random = new Random(0); double[] sample_0 = new double[] { 177, 177, 165, 172, 172, 179, 163, 175, 166, 182, 177, 168, 179, 177 }; bool[] labels = new bool[] { true, false, true, false, true, false, true, false, true, false, true, false, true, false }; double auc_0 = ToolsMathStatistics.ComputeROCAUCTrapeziod(labels, sample_0); double se_0 = TestROCHanleyMcNeil.ComputeStandardError(auc_0, sample_0, labels, random, 1000); Assert.IsTrue(0.145 < se_0); Assert.IsTrue(se_0 < 0.146); }
public void TestROCHanleyMcNeilTestP0() { // Larsen Marc 4Th editiopn P824 Random random = new Random(0); double[] sample_0 = new double[] { 177, 177, 165, 172, 172, 179, 163, 175, 166, 182, 177, 168, 179, 177 }; double[] sample_1 = new double[] { 166, 154, 159, 168, 174, 174, 177, 167, 165, 161, 164, 161, 179, 177 }; bool[] labels = new bool[] { true, false, true, false, true, false, true, false, true, false, true, false, true, false }; double p_value = TestROCHanleyMcNeil.TestStatic(labels, sample_0, sample_1, random, 1000); Assert.IsTrue(0.10 < p_value); Assert.IsTrue(p_value < 0.11); }
public static double ROCP <DomainType>( IModelLikelihood <DomainType, bool> model_0, IModelLikelihood <DomainType, bool> model_1, IDataSet <DomainType, bool> test_set, bool label_value) { if (!model_0.DataContext.Equals(model_0.DataContext)) { throw new Exception("DataContext Mismatch"); } TestROCHanleyMcNeil test = new TestROCHanleyMcNeil(); return(0); }