def get_naive_bayes_conf(self): name = '-'.join([ 'AL%d' % self.exp.exp_id, 'Iter%d' % self.iteration.iter_num, 'all', 'NaiveBayes' ]) classifier_conf = self.exp.exp_conf.core_conf.classifier_conf optim_conf = classifier_conf.hyperparam_conf.optim_conf multiclass = True hyperparam_conf = HyperparamConf.get_default( optim_conf.num_folds, optim_conf.n_jobs, multiclass, GaussianNaiveBayesConf._get_hyper_desc(), self.exp.logger) naive_bayes_conf = GaussianNaiveBayesConf(multiclass, hyperparam_conf, self.exp.logger) test_conf = UnlabeledLabeledConf(self.exp.logger, None) classification_conf = ClassificationConf(naive_bayes_conf, test_conf, self.exp.logger) exp_conf = DiademConf(self.exp.exp_conf.secuml_conf, self.exp.exp_conf.dataset_conf, self.exp.exp_conf.features_conf, self.exp.exp_conf.annotations_conf, classification_conf, name=name, parent=self.exp.exp_id) naive_bayes_exp = DiademExp(exp_conf, session=self.exp.session) naive_bayes_exp.create_exp() return naive_bayes_conf
class RcdQueries(CoreRcdQueries): def __init__(self, iteration, label, proba_min=None, proba_max=None, input_checking=True): CoreRcdQueries.__init__(self, iteration, label, proba_min, proba_max, input_checking=input_checking) self.multiclass_exp = None self.exp = iteration.exp def generate_query(self, instance_id, predicted_proba, suggested_label, suggested_family, confidence=None): return Query(instance_id, predicted_proba, suggested_label, suggested_family, confidence=confidence) def _get_multiclass_conf(self): conf = self.rcd_conf.classification_conf name = '-'.join([ 'AL%d' % self.exp.exp_id, 'Iter%d' % self.iteration.iter_num, self.label, 'analysis' ]) exp_conf = DiademConf(self.exp.exp_conf.secuml_conf, self.exp.exp_conf.dataset_conf, self.exp.exp_conf.features_conf, self.exp.exp_conf.annotations_conf, conf, None, name=name, parent=self.exp.exp_id) self.multiclass_exp = DiademExp(exp_conf, session=self.exp.session) self.multiclass_exp.create_exp() return conf def _create_clustering_exp(self): core_conf = CoreClusteringConf(self.exp.exp_conf.logger, self.categories.num_categories) name = '-'.join([ 'AL%d' % self.exp.exp_id, 'Iter%d' % self.iteration.iter_num, self.label, 'clustering' ]) exp_conf = ClusteringConf(self.exp.exp_conf.secuml_conf, self.exp.exp_conf.dataset_conf, self.exp.exp_conf.features_conf, self.exp.exp_conf.annotations_conf, core_conf, name=name, parent=self.exp.exp_id) clustering_exp = ClusteringExperiment(exp_conf, session=self.exp.session) clustering_exp.create_exp() return clustering_exp def _gen_clustering_visu(self): if self.families_analysis: self.clustering_exp = self._create_clustering_exp() clustering = Clusters(self.categories.instances, self.categories.assigned_categories) clustering.generate(None, None) clustering.export(self.clustering_exp.output_dir()) else: self.clustering_exp = None def _set_categories(self, all_instances, assigned_categories, predicted_proba): self.categories = Categories(self.multiclass_exp, self.iteration, all_instances, assigned_categories, predicted_proba, self.label, self.multiclass_model.class_labels)