public static <T> RBFNetwork<T> fit(T[] x, int[] y, RBF<T>[] rbf) {
        return fit(x, y, rbf, false);
    }
@Test
    public void testIris() {
        System.out.println("Iris");

        MathEx.setSeed(19650218); // to get repeatable results.

        ClassificationMetrics metrics = LOOCV.classification(Iris.x, Iris.y,
                (x, y) -> RBFNetwork.fit(x, y, RBF.fit(x, 10)));

        System.out.println("RBF Network: " + metrics);
        assertEquals(0.9667, metrics.accuracy, 1E-4);

        metrics = LOOCV.classification(Iris.x, Iris.y,
                (x, y) -> RBFNetwork.fit(x, y, RBF.fit(x, 10), true));

        System.out.println("Normalized RBF Network: " + metrics);
        assertEquals(0.9733, metrics.accuracy, 1E-4);
    }