viernes, 31 de mayo de 2024

Tutorial. Grafos en la cocina (II)

Grafos sabrosos

Continuo con el análisis de redes de ingredientes y platos de la cocina venezolana. En este post exploro los platos con mayor nivel de inermediación. Es decir,con ingredientes que están presentes en diferentes comunidades de platos y constituyen, por decirlo así, ingredientes que le confieren su particularidad a la culinaria venezolana. Posteriormente analizo las comunidades de platos que se conforman en función de los ingredientes que los componen.


Segunda parte. Intermediación y comunidades


Analizo primero cuál es el plato con mayor nivel de intermediación y, luego, las posibles comunidades de acuerdo con los ingredientes. usaré nuevamente todos los platos, pero para facilitar la visualización, me quedaré con los nodos con un grado de intermediación mayor a la mediana:

par(bg="gray98",mar=c(1,1,1,1)) 
# visualizo
plot(todosb)

De acuerdo con la frecuencia de los ingredientes que componen los diversos platos que he tomado para el presente tutorial, los platos de la cocina venezolana se relacionan de la siguiente manera:

Fig.1 - Ingredientes según nivel de intermediación

Nota:Posiblemente no es ninguna sorpresa: los platos con mayor grado de intermediación son aquellos que fungen como acompañantes/segundos platos/postres o platos especiales. Algo que el algorritmo logra capturar, pues no se le ha impuesto a la data ningún tipo de clasificación previa.

Visualizo las comunidades en los nodos con un grado mayor a la mediana:

comunidades<- cluster_louvain(todos1)
      modularity(comunidades)

##      
## [1] 0.05465422


 #pido la particion para generar comunidades 
todos_comunidades<- membership(comunidades)
      


par(bg="gray98",mar=c(1,1,1,1))
 #visualizo 
plot(comunidades, todos1)
      

Fig.2 - Platos según comunidades

Nota:detectan tres comunidades. La sobreposición de los bloques nos confirman lo que señalabamos inicialmente: los 93 platos se elaboran a partir de un grupo reducido de ingredientes.

si visualizamos los platos que comparten menos ingredientes, veremos que, de existir, esta sobreposición no será tan acentuada:


par(bg="gray98",mar=c(1,1,1,1))
 #visualizo 
comunidades2<- cluster_louvain(todos2)
plot(comunidades2, todos2)
     

Fig.3 - Platos según comunidades

Nota:En estos platos hay dos comunidades. El algorritmo logra diferenciar entre postres o comidades que incorporan sabor dulce/huevos, y lo que serían platos que llevan menos dulce y más sal. De allí que el plátano dulce, por ejemplo, pertezca a una comunidad diferente a la del platano sancochado.

Observando las comunidades pero sin los bloques:

Fig.4 - Comunidades

Nota:Las comunidades parecen agruparse, grosso modo, en torno a platos elaborados con harinas/granos/cochino; carnes(blancas, rojas) y sopas/sancochos/cremas. Esta agrupación la visualizaremos mejor cuando observemos los ingredientes.

No hay comentarios.: