Skip to content
Snippets Groups Projects
Commit 0b14346b authored by dmt's avatar dmt
Browse files

Mode meta information of model to separate dataclass.

parent 56fda637
No related branches found
No related tags found
No related merge requests found
from random import sample from random import sample
from collections import defaultdict from collections import defaultdict
from dataclasses import dataclass
from functools import partial from functools import partial
import krippendorff import krippendorff
...@@ -12,10 +13,79 @@ __all__ = ( ...@@ -12,10 +13,79 @@ __all__ = (
) )
@dataclass
class Metadata:
knowledge_domain: str
knowledge_tier: int
identifier: int
pre_image: list
t_min: int
t_max: int
sigma: list
zeta: list
def __str__(self):
return f"Knowledge domain: <{self.knowledge_domain}> " \
f"Knowledge tier: <{self.knowledge_tier}> " \
f"Identifier: <{self.identifier}> " \
f"Pre image: <{self.pre_image}> " \
f"T min: <{self.t_min}> " \
f"T max: <{self.t_max}> " \
f"Subjects: <{self.sigma}> " \
f"Puposes: <{self.zeta}>"
class PragmaticMachineLearningModel: class PragmaticMachineLearningModel:
def __init__(self, model, learnblock): def __init__(self, meta, model, learnblock):
self.meta = meta
self.model = model self.model = model
self.domain_size = learnblock.n_features self.domain_size = learnblock.n_features
self.domain = learnblock.indexes
def __hash__(self):
return hash(self.uid)
def __eq__(self, other):
if isinstance(other, PragmaticMachineLearningModel):
return hash(self) == hash(other)
raise NotImplementedError()
@property
def tier(self):
return self.meta.knowledge_tier
@property
def min_timestamp(self):
return self.meta.t_min
@property
def max_timestamp(self):
return self.meta.t_max
@property
def pre_image(self):
return self.meta.pre_image
@property
def subject(self):
return self.meta.sigma
@property
def purpose(self):
return self.meta.zeta
@property
def uid(self):
return ".".join([self.meta.knowledge_domain,
str(self.meta.knowledge_tier),
str(self.meta.identifier)])
@property
def sample_times(self):
pass
def fusion(self, prag_model):
pass
class Reconstructor: class Reconstructor:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment