Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/youngermaster/formal-concept-analysis-c2466-cm0246
Formal Concept Analysis for C2466-CM0246-1939 class
https://github.com/youngermaster/formal-concept-analysis-c2466-cm0246
discrete-mathematics fca fca-python formal-concept-analysis python
Last synced: 24 days ago
JSON representation
Formal Concept Analysis for C2466-CM0246-1939 class
- Host: GitHub
- URL: https://github.com/youngermaster/formal-concept-analysis-c2466-cm0246
- Owner: Youngermaster
- License: apache-2.0
- Created: 2024-11-09T15:07:55.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-21T02:02:06.000Z (about 1 month ago)
- Last Synced: 2024-11-21T03:17:06.655Z (about 1 month ago)
- Topics: discrete-mathematics, fca, fca-python, formal-concept-analysis, python
- Language: Python
- Homepage:
- Size: 6.07 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Formal Concept Analysis (FCA) - C2466-CM0246
Este proyecto implementa el Análisis Formal de Conceptos (FCA) para la clase **C2466-CM0246-1939**, mostrando el proceso de construcción de un conjunto de conceptos formales y la representación gráfica de sus relaciones jerárquicas en un látice de conceptos.
## Paso 1: Selección de Objetos y Atributos
Definimos un conjunto de **objetos** y sus correspondientes **atributos**. Estos objetos y atributos representan un contexto formal para el análisis.
- **Objetos**:
- O1: "Libro de Ciencia"
- O2: "Cuaderno"
- O3: "Bolígrafo"
- O4: "Regla"
- O5: "Lápiz"
- O6: "Libro de Matemáticas"
- O7: "Calculadora"
- O8: "Compás"- **Atributos**:
- A1: "Escribible"
- A2: "Leíble"
- A3: "De medición"
- A4: "Digital"
- A5: "De dibujo"## Paso 2: Descripción del Contexto Formal
La descripción de cada objeto con sus atributos se detalla a continuación:
- **O1** ("Libro de Ciencia") - Atributos: Leíble
- **O2** ("Cuaderno") - Atributos: Escribible, Leíble
- **O3** ("Bolígrafo") - Atributos: Escribible
- **O4** ("Regla") - Atributos: De medición
- **O5** ("Lápiz") - Atributos: Escribible
- **O6** ("Libro de Matemáticas") - Atributos: Leíble
- **O7** ("Calculadora") - Atributos: Digital
- **O8** ("Compás") - Atributos: De medición, De dibujoEsta información se presenta en formato de tabla, donde cada celda indica la presencia (1) o ausencia (0) de un atributo en cada objeto.
| Vista Tabular |
| ------------------------------------- |
| ![Tabular View](img/tabular_view.png) |## Paso 3: Conjunto de Conceptos Formales \( C \)
Cada concepto formal \( C \) consiste en un **conjunto de objetos** (extensión) y un **conjunto de atributos** compartidos (intensión). A continuación, algunos conceptos formales extraídos del contexto:
1. **C1**: Extensión: {O1, O2, O6}, Intensión: {Leíble}
2. **C2**: Extensión: {O2}, Intensión: {Escribible, Leíble}
3. **C3**: Extensión: {O3, O5}, Intensión: {Escribible}
4. **C4**: Extensión: {O4}, Intensión: {De medición}
5. **C5**: Extensión: {O7}, Intensión: {Digital}
6. **C6**: Extensión: {O8}, Intensión: {De medición, De dibujo}
7. **C7**: Extensión: {O4, O8}, Intensión: {De medición}## Paso 4: Relación de Orden Parcial
La relación de orden parcial establece una jerarquía de subconjuntos entre las extensiones e intensiones de los conceptos formales. Los conceptos específicos, que comparten más atributos, se colocan en niveles inferiores de la jerarquía, mientras que los conceptos generales, con menos atributos, están en niveles superiores.
1. **C1 ≤ C2**: {O2} es un subconjunto de {O1, O2, O6} y {Escribible, Leíble} ⊆ {Leíble}.
2. **C4 ≤ C7**: {O4} ⊆ {O4, O8} y {De medición} ⊆ {De medición}.## Paso 5: Representación Gráfica del Lattice de Conceptos
La estructura jerárquica de los conceptos se visualiza en un **lattice de conceptos** donde cada nodo representa un concepto formal, y las conexiones muestran las relaciones de inclusión.
En el lattice:
- **C0** representa el concepto vacío en la parte superior.
- Los nodos están etiquetados con el conjunto de atributos o el conjunto de objetos que representan, destacando las relaciones de subconjunto.## Visualización Completa
La tabla de contexto formal y el lattice de conceptos permiten una mejor comprensión del análisis de los datos. A continuación, se muestran ambas representaciones generadas mediante el código en Python.
| Vista del Látice |
| ------------------------------------- |
| ![Lattice View](img/lattice_view.png) || Vista Tabular |
| ------------------------------------- |
| ![Tabular View](img/tabular_view.png) |