durandtibo / arkas

Library to evaluate ML model performances
https://durandtibo.github.io/arkas/
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

High-level design #86

Open durandtibo opened 3 weeks ago

durandtibo commented 3 weeks ago
classDiagram

    BaseReporter ..> BaseIngestor
    BaseReporter ..> BaseAnalyzer
    BaseReporter ..> BaseTransformer
    BaseReporter ..> BaseExplainer
    BaseReporter ..> BaseRunComparator

    BaseEvaluator --> BaseResult
    BaseOutput --> BaseResult
    BaseOutput --> BaseSection
    BaseAnalyzer --> BaseOutput
    BaseExplainer --> BaseExplaination

    class BaseReporter{
      +generate()
      +generate_and_save(path)
    }

    class BaseIngestor{
      +ingest()
    }

    class BaseTransformer{
      +transform(data)
    }

    class BaseAnalyzer{
      +analyze(data) BaseOutput
    }

    class BaseEvaluator{
      +evaluate(data) BaseResult
    }

    class BaseResult{
      +compute_metrics() dict
      +compute_figures() dict
    }

    class BaseSection{
      +generate_html_body() str
      +generate_html_toc() str
    }

    class BaseOutput{
      BaseResult result
      BaseSection section
      +compute_metrics() dict
      +compute_figures() dict
      +generate_html_body() str
      +generate_html_toc() str
    }

    class BaseExplainer{
      +explain(data, model)
    }

    class BaseRunComparator{
      +compare(uris: list)
    }

TODO:

durandtibo commented 3 weeks ago

Alternative design: merge BaseOutput and BaseSection

classDiagram

    class BaseSection{
      BaseResult result
      +generate_html_body() str
      +generate_html_toc() str
    }
durandtibo commented 2 weeks ago
classDiagram

    BaseReport --> BaseSection

    class BaseReport{
      +generate() str
      +save(path)
    }

    class BaseSection{
      +generate_html_body() str
      +generate_html_toc() str
    }