Example #1
0
        public void DeNormalizeGeneralCorrectnessTest()
        {
            int    m = 10000, n = 100;
            double epsilon = 0.000000001;
            Random rnd     = new Random();

            double[][] iData = new double[m][];
            for (int i = 0; i < m; ++i)
            {
                iData[i] = new double[n];
                for (int j = 0; j < n; ++j)
                {
                    iData[i][j] = rnd.Next();
                }
            }
            double         iA     = 0.1;
            double         iB     = 0.9;
            DataNormalizer target = new DataNormalizer(iData, iA, iB);

            double[][] normalized = target.Normalize(iData);
            Assert.AreEqual(iA, normalized.Min(row => row.Min()), epsilon);
            Assert.AreEqual(iB, normalized.Max(row => row.Max()), epsilon);
            double maxAllowedError = 0.1, expectedAvg = 0.5, actualAvg = normalized.Average(row => row.Average());

            Assert.AreEqual(expectedAvg, actualAvg, maxAllowedError);
            double[][] actual = target.DeNormalize(normalized);
            AssertMatrixAreEqual(iData, actual);
        }
 public void DeNormalizeGeneralCorrectnessTest()
 {
     int m = 10000, n = 100;
     double epsilon = 0.000000001;
     Random rnd = new Random();
     double[][] iData = new double[m][];
     for (int i = 0; i < m; ++i)
     {
         iData[i] = new double[n];
         for (int j = 0; j < n; ++j)
             iData[i][j] = rnd.Next();
     }
     double iA = 0.1;
     double iB = 0.9;
     DataNormalizer target = new DataNormalizer(iData, iA, iB);
     double[][] normalized = target.Normalize(iData);
     Assert.AreEqual(iA, normalized.Min(row => row.Min()), epsilon);
     Assert.AreEqual(iB, normalized.Max(row => row.Max()), epsilon);
     double maxAllowedError = 0.1, expectedAvg = 0.5, actualAvg = normalized.Average(row => row.Average());
     Assert.AreEqual(expectedAvg, actualAvg, maxAllowedError);
     double[][] actual = target.DeNormalize(normalized);
     AssertMatrixAreEqual(iData, actual);
 }