Skip to content

Desbordante 1.1.0

Compare
Choose a tag to compare
@vs9h vs9h released this 19 Feb 10:32
· 153 commits to main since this release

Release Notes

Key enhancements of this minor release concern Python bindings. Namely, we've organized our algorithms into intuitive Python submodules based on primitives and we've provided default algorithms for each one, simplifying usage.

Detailed changes are the following:

  • Every primitive available in the library now gets its own submodule, mining and verifying are kept separately:
    • Every primitive’s submodule contains the structures relevant to it. For example, the UCC class may now be accessed as desbordante.ucc.UCC.
    • All algorithms for mining/verifying a primitive are located in the respective primitive’s algorithms submodule. For example, the UccVerifier algorithm may now be accessed as desbordante.ucc_verification.algorithms.UccVerifier. The same holds true for simple statistics. The algorithm to extract them may be accessed as desbordante.statistics.algorithms.DataStats.
    • Every algorithms submodule has a default algorithm for ease of use (example: desbordante.fd.algorithms.Default)
  • Restored exceptions for metric dependency verification
  • Various enhancements to the FD class:
    • FD str representation now uses column names instead of indices
    • Added FD methods to facilitate easy conversion to Python structures
    • Added hashing and equality methods (i.e. FDs can now be inserted into sets)
  • The “table” option no longer gets special treatment:
    • Removed .load_data(path, separator, has_header, **kwargs) overload
    • The option can now be set like a normal one (ex: algo.load_data(table=(path, separator, has_header), …) or algo.load_data(table=dataframe, …))
  • The names and descriptions of options available for an algorithm are now listed in its docstring
  • Fixed bug with error option for afd_verification