Skip to main content

FCA basic algorithms

Project description

build

FCA algorithms

This is a module providing a set of commonly used algorithms in FCA, RCA, and some of its variants. Its general intention is to provide an easy to use API so that it's easier to create other programs using these algorithms. The main algorithm that calculates formal concepts is inclose, and, in this version, it is implemented in C++. Considering this, the API is expected to behave somewhat acceptably.

API Reference

CLI

FCA

Plot a hasse diagram from a context

fca_cli -c input.csv --show_hasse

The context is expected to be a csv with the following format

name attr1 attr2
obj1 x
obj2 x
obj3 x x
obj4

Output files

fca_cli -c input.csv --show_hasse --output_dir path/to/folder/

Will create two files, one representing the hasse graph, the other one with a concept for each line. The line is the index in the hasse graph.

RCA

To plot the hasse diagrams of the contexts 1 and 2 after applying RCA with exists

fca_cli -k context_1.csv context_2.csv -r relation_1_2.csv relation_2_1.csv --show_hasse

to specify operator

fca_cli -k context_1.csv context_2.csv -r relation_1_2.csv relation_2_1.csv --show_hasse -o forall

FCA utils

Module for FCA basics such as retrieving concepts, drawing a hasse diagram, etc

Getting formal concepts

In batch

from fca.api_models import Context, Concept

c = Context(O : List[str], A : List[str], I : List[List[int]])
concepts = c.get_concepts(c) List[Concept]

Incrementally

By intent

from fca.api_models import IncLattice

l = IncLattice(attributes=['a', 'b', 'c', 'd'])
l.add_intent('o1', [0, 2])  # numbers are the indices of the attributes
l.add_intent('o2', [1, 2])
.
.
.

By pair

from fca.api_models import IncLattice

l = IncLattice()
l.add_pair('o1', 'a')
l.add_pair('o2', 'b')
l.add_pair('o2', 'a')
.
.
.

Getting association rules

from fca.api_models import Context

c = Context(O, A, I)
c.get_association_rules(min_support=0.4, min_confidence=1)

Drawing hasse diagram

from fca.plot.plot import plot_from_hasse
from fca.api_models import Context


k = Context(O, A, I)
k.get_lattice().plot()
# plot receives a number of kwargs such as print_latex=True|False


l = IncLattice(attributes=['a', 'b', 'c', 'd'])
l.add_intent('o1', [0, 2])  # numbers are the indices of the attributes
l.add_intent('o2', [1, 2])
.
.
.
l.plot()

Contributors

  • Ramshell (Nicolas Leutwyler)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fca-algorithms-1.1.1.tar.gz (29.5 kB view details)

Uploaded Source

Built Distribution

fca_algorithms-1.1.1-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

Details for the file fca-algorithms-1.1.1.tar.gz.

File metadata

  • Download URL: fca-algorithms-1.1.1.tar.gz
  • Upload date:
  • Size: 29.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for fca-algorithms-1.1.1.tar.gz
Algorithm Hash digest
SHA256 aba0982f801ad8d68ade4121be6064ce432e2dd85d76bdddd93d71932a9b4c6b
MD5 ed3228bdd7274c60593885bf66535693
BLAKE2b-256 001c0fb6cedc916b397855eaaa6354b5a0d3c04c48b7c5708e1a08fa939fbaa1

See more details on using hashes here.

File details

Details for the file fca_algorithms-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fca_algorithms-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ace345c2bbc41ecf7f1113f8c92a0f3d7e34422a0adf6a436a509aa9c21cd58
MD5 2892ee60c65207cac3c0fd547c41d7f1
BLAKE2b-256 8e59982c326f73fc619ac5da6f744dc6c417a9ab09c7e3e946a63ee80fff0018

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page