fcapy.mvcontext.pattern_structure¶
This module contains classes of basic Pattern Structures which allow FCA to work with data of any complex description
Classes
|
An abstract class to provide an interface for any Pattern Structure (PS) |
|
An class to work with Interval Pattern Structures from FCA theory |
- class fcapy.mvcontext.pattern_structure.AbstractPS(data, name=None)¶
An abstract class to provide an interface for any Pattern Structure (PS)
Notes
A pattern structure D is any kind of description of the set of objects G for which we can define two functions:
Given description d \subseteq D we can select a subset of objects A = d’ which share this description
Given a subset of objects A \subseteq G we can determine their common description d = A’
- property data¶
The data for PatternStructure to work with
- description_to_generators(description, projection_num)¶
Convert a closed
descriptioninto a set of generators of this closed description (Optional)
- extension_i(description, base_objects_i=None)¶
Select a subset of objects of
base_objects_iwhich sharedescription
- classmethod from_json(x_json)¶
Load description from
x_json.json format
- generators_by_intent_difference(new_intent, old_intent)¶
Compute the set of generators to select the
new_intentfromold_intent
- generators_to_description(generators)¶
Combine a set of
generatorsinto one closed description (Optional)
- intention_i(object_indexes)¶
Select a common description of objects
object_indexes
- static intersect_descriptions(a, b)¶
Compute the maximal common description of two descriptions a and b
- classmethod leq_descriptions(a, b) bool¶
Check If description a is ‘smaller’ (more general) then description b
- property name¶
The distinct name of a PatternStructure
- classmethod to_json(x)¶
Convert description
xinto .json format
- to_numeric()¶
Convert the complex
dataof the PatternStructure to a set of numeric columns
- static unite_descriptions(a, b)¶
Compute the minimal description includes the descriptions a and b
- class fcapy.mvcontext.pattern_structure.IntervalPS(data, name=None)¶
An class to work with Interval Pattern Structures from FCA theory
Notes
An Interval Pattern Structure describes any object g with a closed interval g’ = [g_{min}, g_{max}] Thus:
- Given an interval [a, b] we can select objects A which description falls into an interval [a,b]:
A = {g in G | a <= g_{min} & g_{max} <= b }
- Given a set of objects A subseteq G we can determine their common description [a, b]:
a = min({g_{min} | g in A}) b = max({g_{max} | g in A})
If object description is defined by a single number x we turn it into an interval [x, x]
- property data¶
The data for IntervalPS to work with (list of tuple representing the intervals)
- description_to_generators(description, projection_num)¶
Convert the closed interval of
descriptioninto a set of more broader intervals that generate itFor example, an interval (-inf, 10] can describe the same set of objects as a closed interval [0, 10]. Thus we say that an interval (-int, 10] is a generator of a closed description [0,10].
- The projections of IntervalPS are considered as following:
Projection 0: an interval (-inf, inf) Projection 1: an interval (-inf, x] or [x, inf), where x is a real number Projection 2: a closed interval [a, b], where a,b are real numbers
- Parameters
description (tuple of float) – A closed description to turn into generators
projection_num (int) – An index of IntervalPS projection for generators to belong to
- Returns
generators – A list of generators of a closed
description- Return type
list of tuple
- extension_i(description, base_objects_i=None)¶
Select a set of indexes of objects from
base_objects_iwhich fall into interval ofdescription
- classmethod from_json(x_json)¶
Load description from
x_json.json format
- generators_by_intent_difference(new_intent, old_intent)¶
Compute the set of generators to select the
new_intentfromold_intent
- generators_to_description(generators)¶
Combine a set of
generatorsinto a single closed description
- intention_i(object_indexes)¶
Select a common interval description for all objects from
object_indexes
- static intersect_descriptions(a, b)¶
Compute the maximal common description of two descriptions a and b
- classmethod leq_descriptions(a, b) bool¶
Check If description a is ‘smaller’ (more general) then description b
- property name¶
The distinct name of a PatternStructure
- classmethod to_json(x)¶
Convert description
xinto .json format
- to_numeric()¶
Turn IntervalPS data into a set of numeric columns and their names
- static unite_descriptions(a, b)¶
Compute the minimal description includes the descriptions a and b