public static Regression<double[]> fit(double[][] x, double[] y, double eps, double C, double tol) {
        smile.base.svm.SVR<double[]> svr = new smile.base.svm.SVR<>(new LinearKernel(), eps, C, tol);
        KernelMachine<double[]> svm = svr.fit(x, y);

        return new Regression<>() {
            final LinearKernelMachine model = LinearKernelMachine.of(svm);

            @Override
            public double predict(double[] x) {
                return model.f(x);
            }
        };
    }
@Test
    public void tesAbalone() {
        System.out.println("Abalone");
        GaussianKernel kernel = new GaussianKernel(5.0);
        RegressionValidation<Regression<double[]>> result = RegressionValidation.of(Abalone.x, Abalone.y, Abalone.testx, Abalone.testy,
                (x, y) -> SVM.fit(x, y, kernel, 1.5, 100, 1E-3));

        System.out.println(result);
        assertEquals(2.1092, result.metrics.rmse, 1E-4);
    }