예제 #1
0
        public double ClassifyInstanceProba(PmlInstance instance)
        {
            Build();
            var confidences = Impl.distributionForInstance(instance.Impl);

            if (confidences.Length != 2)
            {
                throw new NotSupportedException("ClassifyProba only supports binary classifiers");
            }

            return(confidences[0] > confidences[1] ?
                   1 - confidences[0] :
                   confidences[1]);
        }
예제 #2
0
        public void test_creation()
        {
            ExtendableObj <TestingRow>[] rows = new[] {
                new TestingRow {
                    CLASS = 1.0, ATT_1 = "1"
                },
                new TestingRow {
                    CLASS = 2.0, ATT_1 = "2"
                }
            }.Select(ExtendableObj.Create).ToArray();

            rows[0].AddNumerical("additional1", 3);
            rows[1].AddNumerical("additional1", 4);

            rows[0].AddBinary("additional2", true);
            rows[1].AddBinary("additional2", false);

            rows[0].AddNumerical("additional3", 5);
            rows[1].AddNumerical("additional3", 6);

            Runtime     rt = Runtime.LoadFromRows(0, rows);
            PmlInstance r1 = rt.ElementAt(0);
            PmlInstance r2 = rt.ElementAt(1);

            Assert.AreEqual(1, r1.Value(0));
            Assert.AreEqual(2, r2.Value(0));

            Assert.AreEqual(0, r1.Value(1));
            Assert.AreEqual(1, r2.Value(1));

            Assert.AreEqual(3, r1.Value(2));             // additional1
            Assert.AreEqual(4, r2.Value(2));

            Assert.AreEqual(1, r1.Value(3));             // additional2
            Assert.AreEqual(0, r2.Value(3));

            Assert.AreEqual(5, r1.Value(4));             // additional3
            Assert.AreEqual(6, r2.Value(4));
        }
예제 #3
0
 public double ClassifyInstance(PmlInstance instance)
 {
     Build();
     return(Impl.classifyInstance(instance.Impl));
 }
예제 #4
0
 public int ClusterInstance(PmlInstance instance)
 {
     return(Impl.clusterInstance(instance.Impl));
 }