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); } }
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); } }
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); } }
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); } } }
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); } } }
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); } }
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); } } }