public void TestGroupByDoubleKeyColumn2()
 {
     float[,] tss = { { 0, 0, 1, 1, 1 }, { 0, 1, 0, 0, 1 }, { 1, 2, 3, 4, 5 } };
     using (KhivaArray arr = KhivaArray.Create(tss), groupBy = Regularization.GroupBy(arr, 0, 2))
     {
         float[] expected = { 1, 2, 3.5F, 5 };
         var     result   = groupBy.GetData1D <float>();
         Assert.AreEqual(expected, result);
     }
 }
Beispiel #2
0
        public void TestAbsEnergy()
        {
            var tss = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            using (KhivaArray arr = KhivaArray.Create(tss), absEnergy = Features.AbsEnergy(arr))
            {
                var result = absEnergy.GetData1D <int>();
                Assert.AreEqual(385, result[0], Delta);
            }
        }
 public void TestGroupBySingleColumn()
 {
     int[,] tss = { { 0, 1, 1, 2, 2, 3 }, { 0, 3, 3, 1, 1, 2 } };
     using (KhivaArray arr = KhivaArray.Create(tss), groupBy = Regularization.GroupBy(arr, 0))
     {
         int[] expected = { 0, 3, 1, 2 };
         var   result   = groupBy.GetData1D <int>();
         Assert.AreEqual(expected, result);
     }
 }
Beispiel #4
0
        public void TestApproximateEntropy()
        {
            var tss = new float[, ] {
                { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }
            };

            using (KhivaArray arr = KhivaArray.Create(tss),
                   approximateEntropy = Features.ApproximateEntropy(arr, 4, 0.5F))
            {
                var result = approximateEntropy.GetData1D <float>();
                Assert.AreEqual(0.13484281753639338, result[0], Delta);
                Assert.AreEqual(0.13484281753639338, result[1], Delta);
            }
        }
Beispiel #5
0
 public void TestRoots()
 {
     float[] tss = { 5, -20, 5, 50, -20, -40 };
     using (KhivaArray arr = KhivaArray.Create(tss), roots = Polynomial.Roots(arr))
     {
         Complex[] expected =
         { new Complex(2, 0), new Complex(2, 0), new Complex(2, 0), new Complex(-1, 0), new Complex(-1, 0) };
         var result = roots.GetData1D <Complex>();
         for (var i = 0; i < result.Length; i++)
         {
             Assert.AreEqual(expected[i].Real, result[i].Real, 1e-2);
             Assert.AreEqual(expected[i].Imaginary, result[i].Imaginary, 1e-2);
         }
     }
 }
Beispiel #6
0
 public void TestPolyFit1()
 {
     double[] tss = { 0, 1, 2, 3, 4, 5 };
     using (KhivaArray arr = KhivaArray.Create(tss),
            arr2 = KhivaArray.Create(tss),
            polyFit = Polynomial.PolyFit(arr, arr2, 1))
     {
         double[] expected = { 1.0, 0.0 };
         var      result   = polyFit.GetData1D <double>();
         for (var i = 0; i < result.Length; i++)
         {
             Assert.AreEqual(expected[i], result[i], Delta);
         }
     }
 }
Beispiel #7
0
 public void TestCrossCorrelation()
 {
     double[] tss  = { 1, 2, 3, 4 };
     double[] tss2 = { 4, 6, 8, 10, 12 };
     using (KhivaArray xss = KhivaArray.Create(tss),
            yss = KhivaArray.Create(tss2),
            crossCorrelation = Features.CrossCorrelation(xss, yss, false))
     {
         var result = crossCorrelation.GetData1D <double>();
         Assert.AreEqual(0.790569415, result[0], Delta);
         Assert.AreEqual(0.790569415, result[1], Delta);
         Assert.AreEqual(0.0790569415, result[2], Delta);
         Assert.AreEqual(-0.395284707, result[3], Delta);
         Assert.AreEqual(-0.474341649, result[4], Delta);
     }
 }
Beispiel #8
0
 public void TestPolyFit3()
 {
     double[] tss  = { 0.0, 1.0, 2.0, 3.0, 4.0, 5.0 };
     double[] tss2 = { 0.0, 0.8, 0.9, 0.1, -0.8, -1.0 };
     using (KhivaArray arr = KhivaArray.Create(tss),
            arr2 = KhivaArray.Create(tss2),
            polyFit = Polynomial.PolyFit(arr, arr2, 3))
     {
         double[] expected = { 0.08703704, -0.81349206, 1.69312169, -0.03968254 };
         var      result   = polyFit.GetData1D <double>();
         for (var i = 0; i < result.Length; i++)
         {
             Assert.AreEqual(expected[i], result[i], 1e-5);
         }
     }
 }