diff --git a/cml/domain/construction.py b/cml/domain/construction.py index c39b8484589018edef59e1d5690b8cf06689c1fb..75209b24ae5f4e7fb72f05cd7c2a1c1686694f76 100644 --- a/cml/domain/construction.py +++ b/cml/domain/construction.py @@ -38,9 +38,9 @@ def update_construction(func): class Constructor: def __init__(self, ml_models, settings): - self.logger = None self.settings = settings self.ml_models = ml_models + self.logger = None self._logging_dir = None self._construction = None self._category = None @@ -48,6 +48,7 @@ class Constructor: @log_construction def construct(self, learnblock): for block in self._construction(learnblock): + block.origin = learnblock.origin yield block @property @@ -124,15 +125,14 @@ class Constructor: ml_model.cluster = cluster_number trained_model = ml_model.train(learnblock) for cluster, size in trained_model.cluster_sizes.items(): - if size < min_category_size: - continue - labels = trained_model.get_labels() - labeled_learnblock = learnblock.set_labels(labels) - labeled_learnblock.n_cluster = cluster_number - purpose = "{}{:02}".format(ml_model.abbreviation, - cluster_number) - labeled_learnblock.purpose = purpose - yield labeled_learnblock + if size < min_category_size: continue + labels = trained_model.get_labels() + labeled_learnblock = learnblock.set_labels(labels) + labeled_learnblock.n_cluster = cluster_number + purpose = "{}{:02}".format(ml_model.abbreviation, + cluster_number) + labeled_learnblock.purpose = purpose + yield labeled_learnblock def _construct_procedural_knowledge(self, learnblock,