Analice, visualice y compare "superalimentos"
Los superalimentos son alimentos que son muy ricos en uno o más nutrientes. Este ejemplo define un conjunto de superalimentos, luego los contrasta con alimentos más "tradicionales" usando datos de alimentos de Wolfram Knowledgebase. Finalmente, construye una insignia apropiada para los alimentos dignos del epíteto "súper".
Primero, defina una lista de superalimentos que contenga los nutrientes por los cuales se les conoce.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_297.png)
superfoodsRawData = {{"greek yogurt", {"TotalProtein"}}, {"quinoa", \
{"TotalProtein"}}, {"blueberries", {"TotalFiber",
"VitaminC"}}, {"kale", {"TotalFiber", "Calcium",
"Iron"}}, {"chia", {"Magnesium", "Iron", "Calcium",
"Potassium"}}, {"oatmeal", {"TotalFiber"}}, {"broccoli", \
{"TotalFiber", "VitaminC",
"TotalFolate"}}, {"strawberries", {"VitaminC"}}, {"salmon", \
{"TotalProtein"}}, {"watermelon", {"TotalSugar", "VitaminA",
"VitaminC", "TotalCalories"}}, {"lima beans", {"TotalFiber"}},
{"edamame", {"TotalFiber"}}, {"spinach", {"Calcium",
"VitaminK"}}, {"pistachios", {"TotalProtein", "TotalFiber",
"Potassium"}}, {"eggs", {"TotalProtein"}}, {"almonds", \
{"TotalFiber", "Potassium", "Calcium", "VitaminE", "Magnesium",
"Iron"}}, {"pumpkin", {"BetaCarotene"}}, {"apples", \
{"TotalFiber", "TotalCalories"}}, {"lentils", {"TotalProtein",
"Iron"}}};
Convierta esto en Dataset para su cálculo fácil.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_298.png)
superfoodsDatset =
Dataset[<|"Food" -> #1, "Nutrients" -> #2|> & @@@ superfoodsRawData]
![](assets.es/analyze-visualize-and-compare-superfoods/O_199.png)
Utilice Interpreter para obtener entidades de Wolfram Language para los superalimentos.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_299.png)
superfoodsDatset1 =
superfoodsDatset[All,
KeySort[Prepend[#, <|
"FoodEntity" -> Interpreter["Food"][#Food]|>]] &];
Cree una lista de los nutrientes.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_300.png)
Union @@ Normal[superfoodsDatset1[[All, "Nutrients"]]]
![](assets.es/analyze-visualize-and-compare-superfoods/O_200.png)
Cree reglas para convertir los nutrientes datos en sus propiedades apropiadas.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_301.png)
superfoodsDatset2 =
superfoodsDatset1 /.
AssociationMap[
EntityProperty["Food", "Relative" <> # <> "Content"] &,
Union @@ Normal[superfoodsDatset1[[All, "Nutrients"]]]]
![](assets.es/analyze-visualize-and-compare-superfoods/O_201.png)
Encuentre los nutrientes más comunes en el Dataset.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_302.png)
mostCommonProperties =
superfoodsDatset2[Counts[Flatten[#]] &, "Nutrients"][TakeLargest[5]]
![](assets.es/analyze-visualize-and-compare-superfoods/O_202.png)
Encuentre los superalimentos conocidos por ser altos en fibra y compárelos con otros 9000 alimentos. Visualice como un histograma alisado, donde la curva gris muestra la función de densidad de probabilidad del contenido de fibra para la mayoría de los alimentos.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_303.png)
fiberDataset =
superfoodsDatset2[
Select[ContainsAny[#Nutrients, {EntityProperty["Food",
"RelativeTotalFiberContent"]}] &], KeyDrop["Nutrients"]];
![](assets.es/analyze-visualize-and-compare-superfoods/O_203.png)
Realice el mismo proceso para superalimentos ricos en proteína.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_310.png)
proteinDataset =
superfoodsDatset2[
Select[ContainsAny[#Nutrients, {EntityProperty["Food",
"RelativeTotalProteinContent"]}] &], KeyDrop["Nutrients"]];
![](assets.es/analyze-visualize-and-compare-superfoods/O_204.png)
Cree una insignia para los superalimentos, comenzando con un conjunto de imágenes de superalimentos.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_318.png)
GraphicsGrid[
Partition[
ims = EntityValue[
Cases[superfoodsDatset2[All, "FoodEntity"] // Normal,
Entity["FoodType", _], Infinity], "Image"], UpTo[5]]]
![](assets.es/analyze-visualize-and-compare-superfoods/O_205.png)
Como fondo, utilice una forma semejante a la de Superman.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_319.png)
Entity["Lamina", "SupermanInsigniaLamina"]["Image"] // ImageCrop
![](assets.es/analyze-visualize-and-compare-superfoods/O_206.png)
Utilice un proceso de imágenes simple para convertirla en un fondo.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_320.png)
background =
ColorNegate[
Binarize[Entity["Lamina", "SupermanInsigniaLamina"]["Image"], .99]]
![](assets.es/analyze-visualize-and-compare-superfoods/O_207.png)
Cree una "nube de palabras" de superalimentos.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_321.png)
wc = WordCloud[(RandomReal[{0.6, 1.2}] -> #) & /@ ims, background]
![](assets.es/analyze-visualize-and-compare-superfoods/O_208.png)
Combine la nube de palabras con el fondo.
![Click for copyable input](assets.es/analyze-visualize-and-compare-superfoods/In_322.png)
ImageMultiply[{ColorReplace[background, Black -> LightGray], wc}]
![](assets.es/analyze-visualize-and-compare-superfoods/O_209.png)