|
|
1 month ago | |
|---|---|---|
| .. | ||
| solution | 3 months ago | |
| README.md | 1 month ago | |
| assignment.md | 1 month ago | |
| notebook.ipynb | 3 months ago | |
README.md
భాగాలను దృశ్యీకరించడం
![]() |
|---|
| భాగాలను దృశ్యీకరించడం - స్కెచ్ నోట్ @nitya ద్వారా |
ఈ పాఠంలో, మీరు మష్రూమ్ల గురించి ఒక dataset లోని విభిన్న రకాల ఫంగస్ ఎంతమేరకు ఉన్నాయో భాగాలను దృశ్యీకరించడానికి వేరే ప్రకృతి-కేంద్రీకృత dataset ఉపయోగిస్తారు. Audubon నుండి పొందిన 23 రకాల గిల్లెడ్ మష్రూమ్ల వివరాలు ఉన్న Agaricus మరియు Lepiota కుటుంబాల dataset ఉపయోగించి ఈ ఆసక్తికరమైన ఫంగస్లను పరిశీలిద్దాం. మీరు ఈ రుచికరమైన దృశ్యీకరణలతో ప్రయోగం చేయబోతున్నారు:
- పై చార్ట్లు 🥧
- డోనట్ చార్ట్లు 🍩
- వాఫిల్ చార్ట్లు 🧇
💡 Microsoft Research నుండి Charticulator అనే చాలా ఆసక్తికరమైన ప్రాజెక్ట్ ఉచిత డ్రాగ్ అండ్ డ్రాప్ ఇంటర్ఫేస్ను డేటా దృశ్యీకరణల కోసం అందిస్తుంది. వారి ట్యుటోరియల్స్లో ఒకటిలో కూడా ఈ మష్రూమ్ dataset ఉపయోగిస్తారు! కాబట్టి మీరు డేటాను అన్వేషించి లైబ్రరీని ఒకేసారి నేర్చుకోవచ్చు: Charticulator ట్యుటోరియల్.
పాఠం ముందు క్విజ్
మీ మష్రూమ్లను తెలుసుకోండి 🍄
మష్రూమ్లు చాలా ఆసక్తికరమైనవి. వాటిని అధ్యయనం చేయడానికి ఒక dataset ను దిగుమతి చేద్దాం:
import pandas as pd
import matplotlib.pyplot as plt
mushrooms = pd.read_csv('../../data/mushrooms.csv')
mushrooms.head()
ఒక పట్టిక విశ్లేషణకు మంచి డేటాతో ముద్రించబడింది:
| class | cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | stalk-root | stalk-surface-above-ring | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Poisonous | Convex | Smooth | Brown | Bruises | Pungent | Free | Close | Narrow | Black | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
| Edible | Convex | Smooth | Yellow | Bruises | Almond | Free | Close | Broad | Black | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Grasses |
| Edible | Bell | Smooth | White | Bruises | Anise | Free | Close | Broad | Brown | Enlarging | Club | Smooth | Smooth | White | White | Partial | White | One | Pendant | Brown | Numerous | Meadows |
| Poisonous | Convex | Scaly | White | Bruises | Pungent | Free | Close | Narrow | Brown | Enlarging | Equal | Smooth | Smooth | White | White | Partial | White | One | Pendant | Black | Scattered | Urban |
తక్షణమే, మీరు గమనిస్తారు అన్ని డేటా వచనాత్మకంగా ఉంది. మీరు ఈ డేటాను చార్ట్లో ఉపయోగించడానికి మార్చుకోవాలి. నిజానికి, ఎక్కువ భాగం డేటా ఒక ఆబ్జెక్ట్గా ప్రదర్శించబడింది:
print(mushrooms.select_dtypes(["object"]).columns)
ఫలితం:
Index(['class', 'cap-shape', 'cap-surface', 'cap-color', 'bruises', 'odor',
'gill-attachment', 'gill-spacing', 'gill-size', 'gill-color',
'stalk-shape', 'stalk-root', 'stalk-surface-above-ring',
'stalk-surface-below-ring', 'stalk-color-above-ring',
'stalk-color-below-ring', 'veil-type', 'veil-color', 'ring-number',
'ring-type', 'spore-print-color', 'population', 'habitat'],
dtype='object')
ఈ డేటాను తీసుకుని 'class' కాలమ్ను category గా మార్చండి:
cols = mushrooms.select_dtypes(["object"]).columns
mushrooms[cols] = mushrooms[cols].astype('category')
edibleclass=mushrooms.groupby(['class']).count()
edibleclass
ఇప్పుడు, మీరు మష్రూమ్ డేటాను ముద్రిస్తే, అది poisonous/edible క్లాస్ ప్రకారం వర్గీకరించబడిందని చూడవచ్చు:
| cap-shape | cap-surface | cap-color | bruises | odor | gill-attachment | gill-spacing | gill-size | gill-color | stalk-shape | ... | stalk-surface-below-ring | stalk-color-above-ring | stalk-color-below-ring | veil-type | veil-color | ring-number | ring-type | spore-print-color | population | habitat | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| class | |||||||||||||||||||||
| Edible | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | ... | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 | 4208 |
| Poisonous | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | ... | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 | 3916 |
ఈ పట్టికలో చూపించిన క్రమాన్ని అనుసరించి మీ class category లేబుల్స్ సృష్టిస్తే, మీరు పై చార్ట్ తయారు చేయవచ్చు:
పై!
labels=['Edible','Poisonous']
plt.pie(edibleclass['population'],labels=labels,autopct='%.1f %%')
plt.title('Edible?')
plt.show()
ఇది, ఈ రెండు మష్రూమ్ తరగతుల ప్రకారం ఈ డేటా భాగాలను చూపించే పై చార్ట్. లేబుల్స్ క్రమం సరిగ్గా ఉండటం చాలా ముఖ్యం, కాబట్టి లేబుల్ అర్రే ఎలా నిర్మించబడిందో నిర్ధారించుకోండి!
డోనట్స్!
కొంతమేర దృశ్యంగా ఆసక్తికరమైన పై చార్ట్ డోనట్ చార్ట్, ఇది మధ్యలో రంధ్రం ఉన్న పై చార్ట్. ఈ పద్ధతిని ఉపయోగించి మన డేటాను చూద్దాం.
మష్రూమ్లు పెరుగుతున్న వివిధ వాతావరణాలను పరిశీలించండి:
habitat=mushrooms.groupby(['habitat']).count()
habitat
ఇక్కడ, మీరు మీ డేటాను వాతావరణం ప్రకారం వర్గీకరిస్తున్నారు. 7 వాతావరణాలు ఉన్నాయి, కాబట్టి వాటిని మీ డోనట్ చార్ట్ లేబుల్స్గా ఉపయోగించండి:
labels=['Grasses','Leaves','Meadows','Paths','Urban','Waste','Wood']
plt.pie(habitat['class'], labels=labels,
autopct='%1.1f%%', pctdistance=0.85)
center_circle = plt.Circle((0, 0), 0.40, fc='white')
fig = plt.gcf()
fig.gca().add_artist(center_circle)
plt.title('Mushroom Habitats')
plt.show()
ఈ కోడ్ ఒక చార్ట్ మరియు మధ్యలో ఒక వృత్తాన్ని గీయడం, ఆ మధ్య వృత్తాన్ని చార్ట్లో చేర్చడం చేస్తుంది. మధ్య వృత్తం వెడల్పును మార్చడానికి 0.40 ను మరొక విలువగా మార్చండి.
డోనట్ చార్ట్లను లేబుల్స్ మార్చడానికి అనేక విధాలుగా సవరించవచ్చు. ముఖ్యంగా లేబుల్స్ పఠనీయత కోసం హైలైట్ చేయవచ్చు. మరింత తెలుసుకోండి డాక్స్.
ఇప్పుడు మీరు మీ డేటాను వర్గీకరించి దాన్ని పై లేదా డోనట్గా ప్రదర్శించడం ఎలా చేయాలో తెలుసుకున్నారంటే, మీరు ఇతర రకాల చార్ట్లను అన్వేషించవచ్చు. వాఫిల్ చార్ట్ ప్రయత్నించండి, ఇది కేవలం పరిమాణాన్ని అన్వేషించే వేరే విధానం.
వాఫిల్స్!
'వాఫిల్' రకం చార్ట్ అనేది పరిమాణాలను 2D చతురస్రాల అర్రేగా దృశ్యీకరించే వేరే విధానం. ఈ dataset లోని మష్రూమ్ క్యాప్ రంగుల విభిన్న పరిమాణాలను దృశ్యీకరించడానికి ప్రయత్నించండి. దీని కోసం, మీరు PyWaffle అనే సహాయక లైబ్రరీని ఇన్స్టాల్ చేసి Matplotlib ఉపయోగించాలి:
pip install pywaffle
మీ డేటా ఒక భాగాన్ని ఎంచుకోండి:
capcolor=mushrooms.groupby(['cap-color']).count()
capcolor
లేబుల్స్ సృష్టించి డేటాను వర్గీకరించి వాఫిల్ చార్ట్ సృష్టించండి:
import pandas as pd
import matplotlib.pyplot as plt
from pywaffle import Waffle
data ={'color': ['brown', 'buff', 'cinnamon', 'green', 'pink', 'purple', 'red', 'white', 'yellow'],
'amount': capcolor['class']
}
df = pd.DataFrame(data)
fig = plt.figure(
FigureClass = Waffle,
rows = 100,
values = df.amount,
labels = list(df.color),
figsize = (30,30),
colors=["brown", "tan", "maroon", "green", "pink", "purple", "red", "whitesmoke", "yellow"],
)
వాఫిల్ చార్ట్ ఉపయోగించి, మీరు ఈ మష్రూమ్ dataset క్యాప్ రంగుల భాగాలను స్పష్టంగా చూడవచ్చు. ఆసక్తికరంగా, చాలా గ్రీన్-క్యాప్ మష్రూమ్లు ఉన్నాయి!
✅ Pywaffle చార్ట్లలో Font Awesomeలో అందుబాటులో ఉన్న ఏ ఐకాన్ అయినా ఉపయోగించగలదు. చతురస్రాల స్థానంలో ఐకాన్లను ఉపయోగించి మరింత ఆసక్తికరమైన వాఫిల్ చార్ట్ సృష్టించడానికి ప్రయోగాలు చేయండి.
ఈ పాఠంలో, మీరు భాగాలను దృశ్యీకరించే మూడు మార్గాలను నేర్చుకున్నారు. మొదట, మీ డేటాను వర్గాలుగా వర్గీకరించాలి, ఆపై డేటాను ప్రదర్శించడానికి ఉత్తమ మార్గం - పై, డోనట్ లేదా వాఫిల్ ఎంచుకోవాలి. ఇవన్నీ రుచికరమైనవి మరియు dataset యొక్క తక్షణ స్నాప్షాట్ను వినియోగదారునికి అందిస్తాయి.
🚀 సవాలు
ఈ రుచికరమైన చార్ట్లను Charticulator లో పునఃసృష్టించడానికి ప్రయత్నించండి.
పాఠం తర్వాత క్విజ్
సమీక్ష & స్వీయ అధ్యయనం
ఎప్పుడైతే పై, డోనట్ లేదా వాఫిల్ చార్ట్ ఉపయోగించాలో స్పష్టంగా తెలియదు. ఈ విషయంపై చదవడానికి కొన్ని వ్యాసాలు:
https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
ఈ క్లిష్ట నిర్ణయం గురించి మరింత సమాచారం కోసం పరిశోధన చేయండి.
అసైన్మెంట్
అస్పష్టత:
ఈ పత్రాన్ని AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలోనే అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం చేయించుకోవడం మంచిది. ఈ అనువాదం వలన కలిగే ఏవైనా అపార్థాలు లేదా తప్పుదారుల బాధ్యత మేము తీసుకోము.



