🐍 Entropy-based measure#
[1]:
from galactic.algebras.concept.core import ItemUniverse
from galactic.algebras.convex.characteristics.core import Component, Number, String
from galactic.algebras.convex.descriptions.category.basic.core import (
CategoryDescription,
)
from galactic.algebras.convex.descriptions.core import (
Concept,
Context,
GaloisConnection,
PredicateUniverse,
)
from galactic.algebras.convex.descriptions.numerical.hull.core import (
NumericalDescription,
)
from galactic.algebras.convex.measures.entropy.core import Entropy
Preparing the context#
[2]:
dataset = [
{},
{"class": "class2", "data": 2},
{"class": "class1", "data": 3},
{"class": "class2", "data": 4},
{"class": "class1", "data": 5},
{"class": "class1", "data": 6},
]
klass = String(components=(Component(expr="class"),), name="class")
data = Number(components=(Component(expr="data"),), name="data")
context = Context(
ItemUniverse(dataset),
PredicateUniverse(
descriptions=(
CategoryDescription(space=(klass,)),
NumericalDescription(space=(data,)),
),
),
)
connection = GaloisConnection(context)
top = Concept(connection)
Computing the entropy-based measure#
[3]:
0.026080219007006855
0.21998160765551011