Desbordante 1.1.0
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 asdesbordante.ucc_verification.algorithms.UccVerifier
. The same holds true for simple statistics. The algorithm to extract them may be accessed asdesbordante.statistics.algorithms.DataStats
. - Every
algorithms
submodule has a default algorithm for ease of use (example:desbordante.fd.algorithms.Default
)
- Every primitive’s submodule contains the structures relevant to it. For example, the UCC class may now be accessed as
- 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), …)
oralgo.load_data(table=dataframe, …)
)
- Removed
- The names and descriptions of options available for an algorithm are now listed in its docstring
- Fixed bug with error option for afd_verification