@Override public Nonconformity fit(DataFrame x, Vector y) { Objects.requireNonNull(x, "Input data is required."); Objects.requireNonNull(y, "Input target is required."); Check.argument(x.rows() == y.size(), "The size of input data and input target don't match"); Classifier probabilityEstimator = classifier.fit(x, y); Check.state( probabilityEstimator != null && probabilityEstimator .getCharacteristics() .contains(ClassifierCharacteristic.ESTIMATOR), "The produced classifier can't estimate probabilities"); return new ProbabilityEstimateNonconformity(probabilityEstimator, errorFunction); }