docs: protected double P(DataPoint x)
      {
          /**
           *              F(x)
           *             e
           * p(x) = ---------------
           *         F(x)    - F(x)
           *        e     + e
           */
          double fx = F(x);
          double efx = Math.exp(fx);
          double enfx = Math.exp(-fx);
          if(Double.isInfinite(efx) && efx > 0 && enfx < 1e-15)//Well classified point could return a Infinity which turns into NaN
              return 1.0;
          return efx/(efx + enfx);
      }