Elaborate Pattern Structures. Rewrite Sofia algorithm to mine hundreds of most stable concepts on big data. Add IntervalPS and SetPS to basic pattern structures.
OSDA toolkit edition. This version introduces monotonic concepts that are (among all) relevant for Ordered Sets in Data Analysis course in HSE University
- Add monotonic concepts support: a.k.a. "disjunctive" formal concepts*;
- Start refactoring BinTables: a class to work efficiently with tables of binary values.
* A disjunctive formal concept (A, B)
is a pair of objects A
and attributes B
.
The sets are s.t. each attribute from B
describes at least one of the objects from A
.
And A
is the maximal set of objects corresponding to specific B
.
Pretty and easier-to-use visualizations via NetworkX.
Rewrite visualizer submodule to make visualizations more versatile and easy to use.
- Add LineVizNx: a class to visualize POSets and Concept Lattices via NetworkX
- Add Mover: a class to simplify the positioning of nodes in a visualization
- Add many NetworkX-like parameters to AbstractLineViz to form an interface for future visualization extensions
Disclaimer: The release was in production for too much time. So something may not work properly (although it should). I will try to publish the following releases more often.
Partially ordered set
- Add POSet subpackage to clean up the code of ConceptLattice class;
- And add POSet visualization.
Concept lattice
- Add Lindig algorithm to construct a concept lattice. Thanks to @MetaPostRocker;
- And add ConceptLattice.read_json/write_json functions.
Visualization
- Add FCART-like Hasse diagram layout. Thanks to @MetaPostRocker;
- And add a function to count line intersections in Hasse diagram.
Many valued context
- Add MVContext.read_json/write_json functions.
- Move visualizer layouts to a specific python module;
- Rename load_/save_ functions to read_/write_;
- And split the repository into FCApy, FCApy_tutorials, FCApy_benchmarks, FCApy_papers.
- Drop build files from git;
- Make FormalContext hash calculation stable among different python kernel runs;
- And fix the levels of elements calculation in POSetVisualizer.
Optimize FormalContext with bitsets
- Add fcapy.context.bintable.BinTable class to encapsulate binary data processing
Concept Lattices, PatternStructures, Visualization and a bit of ML
- Write class implementations for ConceptLattice, Pattern Structures and Many Valued Context from FCA;
- Add simple Concept Lattice visualization with networkx and plotly package;
- and start developing tools to use ConceptLattice as a Supervised ML model.
Formal Context functionality
- Create FormalContext class,
- Set up the pipelines for Travis CI/CD, Codecov,
- and write basic documentation in readthedocs.org .