Analise, visualize, e compare "superalimentos"
Superalimentos são alimentos que são muito ricos em um ou mais nutrientes. Este exemplo define um conjunto de superalimentos, em seguida, os compara com alimentos mais "tradicionais" usando dados de alimentos da Wolfram Knowledgebase. Finalmente, ele constrói um símbolo apropriada para alimentos que merecem ser chamados de "super".
Primeiro, defina uma lista de superalimentos que contenham os nutrientes pelo qual são conhecidos.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_301.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"}}};
Converta isto em Dataset para um cálculo mais fácil.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_302.png)
superfoodsDatset =
Dataset[<|"Food" -> #1, "Nutrients" -> #2|> & @@@ superfoodsRawData]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_197.png)
Use Interpreter para obter entidades da Wolfram Language para os superalimentos.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_303.png)
superfoodsDatset1 =
superfoodsDatset[All,
KeySort[Prepend[#, <|
"FoodEntity" -> Interpreter["Food"][#Food]|>]] &];
Liste os nutrientes.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_304.png)
Union @@ Normal[superfoodsDatset1[[All, "Nutrients"]]]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_198.png)
Crie regras para converter os nutrientes fornecidos em suas propriedades adequadas.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_305.png)
superfoodsDatset2 =
superfoodsDatset1 /.
AssociationMap[
EntityProperty["Food", "Relative" <> # <> "Content"] &,
Union @@ Normal[superfoodsDatset1[[All, "Nutrients"]]]]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_199.png)
Encontre os nutrientes mais comuns no Dataset.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_306.png)
mostCommonProperties =
superfoodsDatset2[Counts[Flatten[#]] &, "Nutrients"][TakeLargest[5]]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_200.png)
Encontre superalimentos conhecidos por serem ricos em fibras e compare-os com cerca de 9.000 alimentos. Visualize como um histograma suavizado, onde a curva cinza mostra a função de densidade de probabilidade de teor de fibra para a maioria dos alimentos.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_307.png)
fiberDataset =
superfoodsDatset2[
Select[ContainsAny[#Nutrients, {EntityProperty["Food",
"RelativeTotalFiberContent"]}] &], KeyDrop["Nutrients"]];
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_201.png)
Faça o mesmo processo para superalimentos ricos em proteínas.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_314.png)
proteinDataset =
superfoodsDatset2[
Select[ContainsAny[#Nutrients, {EntityProperty["Food",
"RelativeTotalProteinContent"]}] &], KeyDrop["Nutrients"]];
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_202.png)
Crie um símbolo para os superalimentos, começando com um conjunto de imagens de superalimentos.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_322.png)
GraphicsGrid[
Partition[
ims = EntityValue[
Cases[superfoodsDatset2[All, "FoodEntity"] // Normal,
Entity["FoodType", _], Infinity], "Image"], UpTo[5]]]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_203.png)
Como o fundo, use um formato semelhante a um símbolo de um super herói bem conhecido.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_323.png)
Entity["Lamina", "SupermanInsigniaLamina"]["Image"] // ImageCrop
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_204.png)
Use um pouco de processamento de imagem simples para convertê-lo em um fundo.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_324.png)
background =
ColorNegate[
Binarize[Entity["Lamina", "SupermanInsigniaLamina"]["Image"], .99]]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_205.png)
Crie uma "nuvem de palavras" de superalimentos.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_325.png)
wc = WordCloud[(RandomReal[{0.6, 1.2}] -> #) & /@ ims, background]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_206.png)
Combine a nunvem de palavras com o fundo.
![Click for copyable input](assets.pt-br/analyze-visualize-and-compare-superfoods/In_326.png)
ImageMultiply[{ColorReplace[background, Black -> LightGray], wc}]
![](assets.pt-br/analyze-visualize-and-compare-superfoods/O_207.png)