From bf40579668370cc9926c8c03dc8e3d4208a8aa7a Mon Sep 17 00:00:00 2001
From: dmt <>
Date: Mon, 28 Oct 2019 21:42:05 +0100
Subject: [PATCH] Refactor construction process.

---
 cml/domain/construction.py | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/cml/domain/construction.py b/cml/domain/construction.py
index c39b848..75209b2 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,
-- 
GitLab