from sklearn.calibration import CalibratedClassifierCV from sklearn.svm import LinearSVC from NewMethods.fgsld.fine_grained_sld import FineGrainedSLD from quapy.method.aggregative import EMQ, CC, training_helper from quapy.data import LabelledCollection from quapy.method.base import BaseQuantifier import quapy.functional as F class FakeFGLSD(BaseQuantifier): def __init__(self, learner, nbins, isomerous, recompute_bins): self.learner = learner self.nbins = nbins self.isomerous = isomerous self.recompute_bins = recompute_bins self.iterations=[] def fit(self, data: LabelledCollection): self.Xtr, self.ytr = data.Xy self.learner.fit(self.Xtr, self.ytr) return self def quantify(self, instances): tr_priors = F.prevalence_from_labels(self.ytr, n_classes=2) fgsld = FineGrainedSLD(self.Xtr, instances, self.ytr, tr_priors, self.learner, n_bins=self.nbins) priors, posteriors = fgsld.run(self.isomerous, compute_bins_at_every_iter=self.recompute_bins) self.iterations.append(fgsld.iterations) return priors def get_params(self, deep=True): pass def set_params(self, **parameters): pass