You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/ur/3-Data-Visualization/12-visualization-relationships/README.md

17 KiB

شہد کے تعلقات کی بصری نمائندگی: شہد کے بارے میں سب کچھ 🍯

 Sketchnote by (@sketchthedocs)
تعلقات کی بصری نمائندگی - Sketchnote by @nitya

ہماری تحقیق کے قدرتی پہلو کو جاری رکھتے ہوئے، آئیے مختلف اقسام کے شہد کے تعلقات کو ظاہر کرنے کے لیے دلچسپ بصری نمائندگی دریافت کریں، جو کہ امریکہ کے محکمہ زراعت سے حاصل کردہ ڈیٹا سیٹ کے مطابق ہے۔

یہ ڈیٹا سیٹ تقریباً 600 آئٹمز پر مشتمل ہے جو امریکہ کی مختلف ریاستوں میں شہد کی پیداوار کو ظاہر کرتا ہے۔ مثال کے طور پر، آپ دیکھ سکتے ہیں کہ کسی دی گئی ریاست میں 1998 سے 2012 تک ہر سال کے لیے شہد کی پیداوار، کالونیوں کی تعداد، فی کالونی پیداوار، کل پیداوار، ذخائر، فی پاؤنڈ قیمت، اور پیداوار کی قدر کیا تھی۔

یہ دلچسپ ہوگا کہ کسی دی گئی ریاست کی سالانہ پیداوار اور اس ریاست میں شہد کی قیمت کے درمیان تعلق کو بصری طور پر ظاہر کیا جائے۔ متبادل طور پر، آپ ریاستوں کی فی کالونی شہد کی پیداوار کے تعلق کو ظاہر کر سکتے ہیں۔ یہ سالوں کا دورانیہ 2006 میں پہلی بار دیکھے گئے تباہ کن 'CCD' یا 'Colony Collapse Disorder' (http://npic.orst.edu/envir/ccd.html) کو بھی شامل کرتا ہے، لہذا یہ مطالعہ کے لیے ایک اہم ڈیٹا سیٹ ہے۔ 🐝

لیکچر سے پہلے کا کوئز

اس سبق میں، آپ Seaborn استعمال کر سکتے ہیں، جسے آپ پہلے بھی استعمال کر چکے ہیں، ایک اچھی لائبریری کے طور پر جو متغیرات کے درمیان تعلقات کو بصری طور پر ظاہر کرتی ہے۔ خاص طور پر دلچسپ ہے Seaborn کے relplot فنکشن کا استعمال، جو جلدی سے 'شماریاتی تعلقات' کو ظاہر کرنے کے لیے اسکیٹر پلاٹس اور لائن پلاٹس کی اجازت دیتا ہے، جو ڈیٹا سائنسدان کو بہتر طور پر سمجھنے میں مدد دیتا ہے کہ متغیرات ایک دوسرے سے کیسے تعلق رکھتے ہیں۔

اسکیٹر پلاٹس

اسکیٹر پلاٹ کا استعمال کریں تاکہ دکھایا جا سکے کہ شہد کی قیمت سال بہ سال، ہر ریاست کے لحاظ سے کیسے تبدیل ہوئی۔ Seaborn، relplot کا استعمال کرتے ہوئے، ریاست کے ڈیٹا کو گروپ کرتا ہے اور زمرہ جاتی اور عددی ڈیٹا کے لیے ڈیٹا پوائنٹس ظاہر کرتا ہے۔

آئیے ڈیٹا اور Seaborn کو درآمد کرنے سے شروع کریں:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
honey = pd.read_csv('../../data/honey.csv')
honey.head()

آپ دیکھیں گے کہ شہد کے ڈیٹا میں کئی دلچسپ کالمز ہیں، جن میں سال اور فی پاؤنڈ قیمت شامل ہیں۔ آئیے اس ڈیٹا کو دریافت کریں، جو امریکی ریاستوں کے لحاظ سے گروپ کیا گیا ہے:

state numcol yieldpercol totalprod stocks priceperlb prodvalue year
AL 16000 71 1136000 159000 0.72 818000 1998
AZ 55000 60 3300000 1485000 0.64 2112000 1998
AR 53000 65 3445000 1688000 0.59 2033000 1998
CA 450000 83 37350000 12326000 0.62 23157000 1998
CO 27000 72 1944000 1594000 0.7 1361000 1998

ایک بنیادی اسکیٹر پلاٹ بنائیں تاکہ فی پاؤنڈ شہد کی قیمت اور اس کی امریکی ریاست کے درمیان تعلق کو ظاہر کیا جا سکے۔ y محور کو اتنا لمبا بنائیں کہ تمام ریاستیں دکھائی دیں:

sns.relplot(x="priceperlb", y="state", data=honey, height=15, aspect=.5);

scatterplot 1

اب، اسی ڈیٹا کو شہد کے رنگ سکیم کے ساتھ دکھائیں تاکہ یہ ظاہر ہو کہ قیمت سال بہ سال کیسے تبدیل ہوتی ہے۔ آپ یہ 'hue' پیرامیٹر شامل کر کے کر سکتے ہیں تاکہ تبدیلی کو ظاہر کیا جا سکے:

Seaborn میں استعمال ہونے والے رنگ کے پیلیٹس کے بارے میں مزید جانیں - ایک خوبصورت رینبو رنگ سکیم آزمائیں!

sns.relplot(x="priceperlb", y="state", hue="year", palette="YlOrBr", data=honey, height=15, aspect=.5);

scatterplot 2

اس رنگ سکیم کی تبدیلی کے ساتھ، آپ دیکھ سکتے ہیں کہ سالوں کے دوران شہد کی قیمت میں واضح طور پر ایک مضبوط ترقی ہوئی ہے۔ درحقیقت، اگر آپ ڈیٹا کے ایک نمونے کو دیکھیں (مثال کے طور پر، ایریزونا ریاست کو منتخب کریں) تو آپ دیکھ سکتے ہیں کہ قیمت میں سال بہ سال اضافہ ہو رہا ہے، چند استثنائی صورتوں کے ساتھ:

state numcol yieldpercol totalprod stocks priceperlb prodvalue year
AZ 55000 60 3300000 1485000 0.64 2112000 1998
AZ 52000 62 3224000 1548000 0.62 1999000 1999
AZ 40000 59 2360000 1322000 0.73 1723000 2000
AZ 43000 59 2537000 1142000 0.72 1827000 2001
AZ 38000 63 2394000 1197000 1.08 2586000 2002
AZ 35000 72 2520000 983000 1.34 3377000 2003
AZ 32000 55 1760000 774000 1.11 1954000 2004
AZ 36000 50 1800000 720000 1.04 1872000 2005
AZ 30000 65 1950000 839000 0.91 1775000 2006
AZ 30000 64 1920000 902000 1.26 2419000 2007
AZ 25000 64 1600000 336000 1.26 2016000 2008
AZ 20000 52 1040000 562000 1.45 1508000 2009
AZ 24000 77 1848000 665000 1.52 2809000 2010
AZ 23000 53 1219000 427000 1.55 1889000 2011
AZ 22000 46 1012000 253000 1.79 1811000 2012

ایک اور طریقہ یہ ہے کہ رنگ کے بجائے سائز کا استعمال کریں۔ رنگ اندھے صارفین کے لیے، یہ ایک بہتر آپشن ہو سکتا ہے۔ اپنی بصری نمائندگی کو اس طرح ایڈٹ کریں کہ قیمت میں اضافہ نقطے کے دائرے کے سائز میں اضافہ کے ذریعے ظاہر ہو:

sns.relplot(x="priceperlb", y="state", size="year", data=honey, height=15, aspect=.5);

آپ دیکھ سکتے ہیں کہ نقطوں کا سائز بتدریج بڑھ رہا ہے۔

scatterplot 3

کیا یہ صرف طلب اور رسد کا معاملہ ہے؟ موسمیاتی تبدیلی اور کالونی کے خاتمے جیسے عوامل کی وجہ سے، کیا سال بہ سال خریداری کے لیے کم شہد دستیاب ہے، اور اس وجہ سے قیمت بڑھ رہی ہے؟

اس ڈیٹا سیٹ میں کچھ متغیرات کے درمیان تعلق کو دریافت کرنے کے لیے، آئیے کچھ لائن چارٹس کا جائزہ لیں۔

لائن چارٹس

سوال: کیا شہد کی قیمت میں سال بہ سال واضح اضافہ ہوا ہے؟ آپ یہ سب سے آسانی سے ایک سنگل لائن چارٹ بنا کر دریافت کر سکتے ہیں:

sns.relplot(x="year", y="priceperlb", kind="line", data=honey);

جواب: ہاں، کچھ استثنائی صورتوں کے ساتھ، خاص طور پر 2003 کے سال کے ارد گرد:

line chart 1

چونکہ Seaborn ڈیٹا کو ایک لائن کے ارد گرد جمع کر رہا ہے، یہ "ہر x ویلیو پر متعدد پیمائشوں کو ظاہر کرتا ہے، اوسط اور اوسط کے ارد گرد 95% اعتماد کے وقفے کو پلاٹ کر کے"۔ ماخذ۔ اس وقت لینے والے رویے کو ci=None شامل کر کے غیر فعال کیا جا سکتا ہے۔

سوال: ٹھیک ہے، 2003 میں کیا ہم شہد کی سپلائی میں بھی اضافہ دیکھ سکتے ہیں؟ اگر آپ کل پیداوار کو سال بہ سال دیکھیں تو کیا ہوگا؟

sns.relplot(x="year", y="totalprod", kind="line", data=honey);

line chart 2

جواب: واقعی نہیں۔ اگر آپ کل پیداوار کو دیکھیں، تو ایسا لگتا ہے کہ اس خاص سال میں یہ درحقیقت بڑھ گئی ہے، حالانکہ عام طور پر ان سالوں کے دوران پیدا ہونے والے شہد کی مقدار میں کمی ہو رہی ہے۔

سوال: اس صورت میں، 2003 کے ارد گرد شہد کی قیمت میں اس اضافے کی وجہ کیا ہو سکتی ہے؟

یہ دریافت کرنے کے لیے، آپ ایک فیسٹ گرڈ کا جائزہ لے سکتے ہیں۔

فیسٹ گرڈز

فیسٹ گرڈز آپ کے ڈیٹا سیٹ کے ایک پہلو کو لیتے ہیں (ہمارے معاملے میں، آپ 'سال' کو منتخب کر سکتے ہیں تاکہ بہت زیادہ فیسٹس پیدا نہ ہوں)۔ پھر Seaborn آپ کے منتخب کردہ x اور y کوآرڈینیٹس کے لیے ہر فیسٹ کا پلاٹ بنا سکتا ہے تاکہ بصری موازنہ آسان ہو۔ کیا 2003 اس قسم کے موازنہ میں نمایاں ہے؟

Seaborn کی دستاویزات کے ذریعہ تجویز کردہ فیسٹ گرڈ کا استعمال کرتے ہوئے relplot کو جاری رکھ کر ایک فیسٹ گرڈ بنائیں۔

sns.relplot(
    data=honey, 
    x="yieldpercol", y="numcol",
    col="year", 
    col_wrap=3,
    kind="line"

اس بصری نمائندگی میں، آپ فی کالونی پیداوار اور کالونیوں کی تعداد کو سال بہ سال، ریاست بہ ریاست، ایک ساتھ موازنہ کر سکتے ہیں، کالمز کے لیے wrap کو 3 پر سیٹ کر کے:

facet grid

اس ڈیٹا سیٹ کے لیے، کالونیوں کی تعداد اور ان کی پیداوار کے لحاظ سے، سال بہ سال اور ریاست بہ ریاست، کچھ خاص نمایاں نہیں ہوتا۔ کیا ان دو متغیرات کے درمیان تعلق تلاش کرنے کے لیے دیکھنے کا کوئی مختلف طریقہ ہے؟

دوہری لائن پلاٹس

Seaborn کے 'despine' کا استعمال کرتے ہوئے دو لائن پلاٹس کو ایک دوسرے کے اوپر سپر امپوز کرنے کی کوشش کریں تاکہ ان کے اوپر اور دائیں اسپائنز کو ہٹا دیا جائے، اور ax.twinx Matplotlib سے ماخوذ کا استعمال کریں۔ Twinx ایک چارٹ کو x محور شیئر کرنے اور دو y محور ظاہر کرنے کی اجازت دیتا ہے۔ لہذا، فی کالونی پیداوار اور کالونیوں کی تعداد کو سپر امپوز کریں:

fig, ax = plt.subplots(figsize=(12,6))
lineplot = sns.lineplot(x=honey['year'], y=honey['numcol'], data=honey, 
                        label = 'Number of bee colonies', legend=False)
sns.despine()
plt.ylabel('# colonies')
plt.title('Honey Production Year over Year');

ax2 = ax.twinx()
lineplot2 = sns.lineplot(x=honey['year'], y=honey['yieldpercol'], ax=ax2, color="r", 
                         label ='Yield per colony', legend=False) 
sns.despine(right=False)
plt.ylabel('colony yield')
ax.figure.legend();

superimposed plots

جبکہ 2003 کے سال کے ارد گرد کچھ بھی آنکھ کو نمایاں طور پر نہیں پکڑتا، یہ ہمیں اس سبق کو ایک خوشگوار نوٹ پر ختم کرنے کی اجازت دیتا ہے: جبکہ مجموعی طور پر کالونیوں کی تعداد میں کمی ہو رہی ہے، کالونیوں کی تعداد مستحکم ہو رہی ہے، چاہے ان کی فی کالونی پیداوار کم ہو رہی ہو۔

جاؤ، شہد کی مکھیوں، جاؤ!

🐝❤️

🚀 چیلنج

اس سبق میں، آپ نے اسکیٹر پلاٹس اور لائن گرڈز کے دیگر استعمالات کے بارے میں تھوڑا سا مزید سیکھا، بشمول فیسٹ گرڈز۔ خود کو چیلنج کریں کہ ایک مختلف ڈیٹا سیٹ کا استعمال کرتے ہوئے ایک فیسٹ گرڈ بنائیں، شاید وہ ڈیٹا سیٹ جو آپ نے ان اسباق سے پہلے استعمال کیا ہو۔ نوٹ کریں کہ انہیں بنانے میں کتنا وقت لگتا ہے اور آپ کو کتنے گرڈز بنانے کی ضرورت ہے ان تکنیکوں کا استعمال کرتے ہوئے محتاط رہنا ہوگا۔

لیکچر کے بعد کا کوئز

جائزہ اور خود مطالعہ

لائن پلاٹس سادہ یا کافی پیچیدہ ہو سکتے ہیں۔ Seaborn کی دستاویزات میں لائن پلاٹس کے مختلف طریقوں پر تھوڑا سا مطالعہ کریں۔ ان طریقوں کو استعمال کرتے ہوئے اس سبق میں بنائے گئے لائن چارٹس کو بہتر بنانے کی کوشش کریں۔

اسائنمنٹ

شہد کے چھتے میں غوطہ لگائیں


ڈسکلیمر:
یہ دستاویز AI ترجمہ سروس Co-op Translator کا استعمال کرتے ہوئے ترجمہ کی گئی ہے۔ ہم درستگی کے لیے کوشش کرتے ہیں، لیکن براہ کرم آگاہ رہیں کہ خودکار ترجمے میں غلطیاں یا غیر درستیاں ہو سکتی ہیں۔ اصل دستاویز کو اس کی اصل زبان میں مستند ذریعہ سمجھا جانا چاہیے۔ اہم معلومات کے لیے، پیشہ ور انسانی ترجمہ کی سفارش کی جاتی ہے۔ ہم اس ترجمے کے استعمال سے پیدا ہونے والی کسی بھی غلط فہمی یا غلط تشریح کے ذمہ دار نہیں ہیں۔