mdl-fca
Learning "good" concept DAGs from binary data by minimum description length — a probabilistic/information-theoretic reworking of Formal Concept Analysis.
Plain FCA maps a binary object×attribute context to a concept lattice, but it is not a probabilistic model: it creates a concept for every random coincidence, so the lattice explodes. This project builds instead the small DAG of concepts that best compresses the data: a concept exists only if it pays for its own description. Concepts can have multiple parents (unlike hierarchical clustering's trees) and are organized hierarchically (unlike flat topic models).
Status: design phase complete, prototype under construction.
- Read
CLAUDE.mdfor orientation and design commitments. - Read
docs/in numeric order for the full design:- background and goal
- model and codelength (the core)
- algorithm (greedy pair-merge constructor + search framework)
- batch vs online
- prototype spec (current build target)
- roadmap
Quick start (once the prototype exists)
pip install -e ".[test]"
pytest # 15 tests
python examples/run_planted.py
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mdl_fca-0.0.1.tar.gz.
File metadata
- Download URL: mdl_fca-0.0.1.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71b1e53264dc97c096db577ebfcef7b7cb05cdaf9c4fbc4cbbd115be6baa7309
|
|
| MD5 |
56c0f85461aa424420f5c7edf30e6f2d
|
|
| BLAKE2b-256 |
0edc8e91813cf5e60b363ebd4fa63d5a94aeb11b7a8cca47263f2cbcda864cb4
|
Provenance
The following attestation bundles were made for mdl_fca-0.0.1.tar.gz:
Publisher:
publish.yml on petfold/mdl-fca
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mdl_fca-0.0.1.tar.gz -
Subject digest:
71b1e53264dc97c096db577ebfcef7b7cb05cdaf9c4fbc4cbbd115be6baa7309 - Sigstore transparency entry: 2791665646
- Sigstore integration time:
-
Permalink:
petfold/mdl-fca@341746de6ccf7fdbe28f20f7fdd3eeedba9850d2 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/petfold
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@341746de6ccf7fdbe28f20f7fdd3eeedba9850d2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mdl_fca-0.0.1-py3-none-any.whl.
File metadata
- Download URL: mdl_fca-0.0.1-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8f55b10f8e45b13a79666c196b51c4b44fa379f3218808399ae3a06c1d3d9bb
|
|
| MD5 |
b41aac6f2d495edabc9eb5650716551b
|
|
| BLAKE2b-256 |
4e2839cd7481004b2b79e3b9929b08c67fc75703736ddb73d0095a58a203d48e
|
Provenance
The following attestation bundles were made for mdl_fca-0.0.1-py3-none-any.whl:
Publisher:
publish.yml on petfold/mdl-fca
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mdl_fca-0.0.1-py3-none-any.whl -
Subject digest:
b8f55b10f8e45b13a79666c196b51c4b44fa379f3218808399ae3a06c1d3d9bb - Sigstore transparency entry: 2791665694
- Sigstore integration time:
-
Permalink:
petfold/mdl-fca@341746de6ccf7fdbe28f20f7fdd3eeedba9850d2 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/petfold
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@341746de6ccf7fdbe28f20f7fdd3eeedba9850d2 -
Trigger Event:
push
-
Statement type: