Analysieren, visualisieren und vergleichen Sie „Superfoods“
Superfoods sind Lebensmittel, die reich an Nährstoffen sind. Dieses Beispiel bestimmt eine Gruppe von Superfoods und stellt diese mithilfe von Lebensmitteldaten der Wolfram Knowledgebase „traditionelleren“ Lebensmitteln gegenüber. Schließlich entwerfen wir ein passendes Logo für Lebensmittel, die dem Attribut „Super“ gerecht werden.
Bestimmen Sie zuerst eine Liste von Superfoods mit den jeweiligen Nährstoffen, für die sie bekannt sind.
![Click for copyable input](assets.de/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"}}};
Konvertieren Sie diese zur leichteren Berechnung in ein Dataset.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_298.png)
superfoodsDatset =
Dataset[<|"Food" -> #1, "Nutrients" -> #2|> & @@@ superfoodsRawData]
![](assets.de/analyze-visualize-and-compare-superfoods/O_199.png)
Ermitteln Sie mit Interpreter die Wolfram Language-Entitäten für die Superfoods.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_299.png)
superfoodsDatset1 =
superfoodsDatset[All,
KeySort[Prepend[#, <|
"FoodEntity" -> Interpreter["Food"][#Food]|>]] &];
Führen Sie die Nährstoffe an.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_300.png)
Union @@ Normal[superfoodsDatset1[[All, "Nutrients"]]]
![](assets.de/analyze-visualize-and-compare-superfoods/O_200.png)
Legen Sie Regeln fest, nach denen Sie die jeweiligen Nährstoffe in ihre entprechenden Eigenschaften umwandeln.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_301.png)
superfoodsDatset2 =
superfoodsDatset1 /.
AssociationMap[
EntityProperty["Food", "Relative" <> # <> "Content"] &,
Union @@ Normal[superfoodsDatset1[[All, "Nutrients"]]]]
![](assets.de/analyze-visualize-and-compare-superfoods/O_201.png)
Ermitteln Sie die geläufigsten Nährstoffe im Dataset.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_302.png)
mostCommonProperties =
superfoodsDatset2[Counts[Flatten[#]] &, "Nutrients"][TakeLargest[5]]
![](assets.de/analyze-visualize-and-compare-superfoods/O_202.png)
Ermitteln Sie Superfoods, die sehr ballaststoffreich sind und vergleichen Sie diese mit den nahezu 9000 anderen Lebensmitteln. Visualisieren Sie diese als ein geglättetes Histogramm, wobei die graue Kurve für die Wahrscheinlichkeitsdichtefunktion des Ballaststoffgehalts der meisten Lebensmittel steht.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_303.png)
fiberDataset =
superfoodsDatset2[
Select[ContainsAny[#Nutrients, {EntityProperty["Food",
"RelativeTotalFiberContent"]}] &], KeyDrop["Nutrients"]];
![](assets.de/analyze-visualize-and-compare-superfoods/O_203.png)
Wiederholen Sie den Prozess mit eiweißreichen Superfoods.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_310.png)
proteinDataset =
superfoodsDatset2[
Select[ContainsAny[#Nutrients, {EntityProperty["Food",
"RelativeTotalProteinContent"]}] &], KeyDrop["Nutrients"]];
![](assets.de/analyze-visualize-and-compare-superfoods/O_204.png)
Erstellen Sie ein Superfoods-Logo. Beginnen Sie mit einer Gruppe Superfoods-Bilder.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_318.png)
GraphicsGrid[
Partition[
ims = EntityValue[
Cases[superfoodsDatset2[All, "FoodEntity"] // Normal,
Entity["FoodType", _], Infinity], "Image"], UpTo[5]]]
![](assets.de/analyze-visualize-and-compare-superfoods/O_205.png)
Verwenden Sie als Hintergrund eine Form, die dem eines wohlbekannten Superwesen ähnelt.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_319.png)
Entity["Lamina", "SupermanInsigniaLamina"]["Image"] // ImageCrop
![](assets.de/analyze-visualize-and-compare-superfoods/O_206.png)
Konvertieren Sie die Form mit simplen Bildverarbeitungskniffen in einen schwarzen Hintergrund.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_320.png)
background =
ColorNegate[
Binarize[Entity["Lamina", "SupermanInsigniaLamina"]["Image"], .99]]
![](assets.de/analyze-visualize-and-compare-superfoods/O_207.png)
Erstellen Sie eine „Schlagwortwolke“ aus Superfoods.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_321.png)
wc = WordCloud[(RandomReal[{0.6, 1.2}] -> #) & /@ ims, background]
![](assets.de/analyze-visualize-and-compare-superfoods/O_208.png)
Kombinieren Sie Schlagwortwolke und Hintergrund.
![Click for copyable input](assets.de/analyze-visualize-and-compare-superfoods/In_322.png)
ImageMultiply[{ColorReplace[background, Black -> LightGray], wc}]
![](assets.de/analyze-visualize-and-compare-superfoods/O_209.png)