با داده‌ها چه می‌توان کرد؟ 14 - بیان و تحلیل تصویری

در این قسمت به بیان و تحلیل بصری و تصویری از داده ها می پردازیم. در رشته مورد بحث ما، تجسم و روایت تصویری آنچه که داده ها می گویند بسیار اهمیت دارند. زبان پایتون بسته های متعددی در این زمینه دارد که می تواند به تصویر سازی از داده ها و نتایج بدست آمده از آن کمک کند اما matplotlib بدون شک یکی از مهمترین آنهاست.

این نرم افزار می تواند به فرمتهای مختلف تصویری مانند jpg, png, pdf, svg, BMP, و gif خروجی داشته باشد و ذخیره شود. با اجرا کردن %matplotlib notebook، نوتبوک ژوپیتر می تواند از قابلیتهای این نرم افزار استفاده کند.

طق معمول پس از ایجاد یک نوتبوک جدید، این بسته ها را وارد و اجرا می کنیم. (به قسمتهای گذشته نگاه کنید.)

%matplotlib inline

import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib.pyplot as plt
import sklearn
import statsmodels.api as sm

import seaborn as sns
sns.set_style("whitegrid")
sns.set_context("poster")

from matplotlib import rcParams

اگر در نرم افزار اکسل Excel دیده باشید، چارتهای مختبف وجود دارد که هر کدام منظور خاصی را برآورده می کند. بسیار مهم است که بدانیم از کدام چارت در مورد کدام سری از جدولها و یا داده ها استفاده کنیم. بدون شک بیشتر از یک راه برای خلق یا ایجاد هر کدام از این چارتهای مورد بحث در اینجا وجود دارد که ما در اینجا ساده ترینها را معرفی می کنیم.

برای مثالهای این بخش از همان سری داده ها که در شماره گذشته دانلود کرده اید، استفاده می شود.

چارت خطی (line plot) هنگامی بکار می رود که بخواهیم تغییر در یک متغیر را در طول زمان نشان بدهیم. اگر بخاطر داشته باشید، در جدول مورد نظر ما، ستونهای (متغیر) بسیاری وجود داشت و ما توانستیم که از دو طریق groupby و pivot_table تقاطع دو یا چند متغیر را از جدول اصلی جدا کنیم. در این قسمت پس از جدا کردن متغیر سال و درآمد و هزینه، نمودار آنها را به تصویر می کشیم.

به این مثال توجه کنید:

و سپس با این کد نمودار آنها را نشان می دهیم:

در خط اول ابتدا معین می کنیم که چه نوع نموداری را می خواهیم: 
lineChart.plot(figsize=(8, 6), grid=True, style='o-')

در اینجا اندازه 8 در 6 را تعیین کردیم و با grid=True تصویر را مشبک کرده و با style در هر تغییر یک دایره ایجاد می کنیم.

خطهای بعدی مربوط به نامگذاری کل تصویر و X , Y است که بسیار سر راست است. حتی اندازه حروف را در هریک از آنها بطور جداگانه تعیین می کنیم.
این نمودار نشان می دهد که در طول سالها هزینه با فروش تقریبا متناسب است اما بین سال 2012 تا 2013، فروش افزایش بیشتری نسبت به هزینه داشته است.

------------------------------------------------------------------------

نمودار ستونی Bar Plot را وقتی بکار می بریم که بخواهیم اندازه و مقدار هر ستون را نسبت با بقیه مقایسه کنیم. در قسمنت گذشته ما میزان درآمد در هر کشور را بطور جداگانه نشان دادیم:

اکنون با استفاده از نمودار ستون یا استوانه ای محاسبه بالا را به تصویر می کشیم:


این چارت بصورت تصویری نشان می دهد که فروش در آمریکا بیش از کشورهای دیگر بوده و پس از آن استرالیا در مقام دوم قرار دارد. کانادا با کمترین میزان فروش در رده آخر قرار می گیرد.
همچون نمودار خطی، در اینجا هم در خط اول مشخص می کنیم که چه نوع نموداری مد نظرماست و اندازه چارت را تعیین می کنیم. می توانیم از طریق 'color='indigo  یا هر رنگ دیگری، رنگ ستونها را تغییر دهیم:


اگر دو یا چند متغیر داشته باشیم، در مثال بالا هر دو متغیر مربوط به کشور در کنار هم می نشیند:


از طریق زیر می توانیم هر دو متغیر را در یک ستون قرار بدهیم که به آن Stacked Bar گفته می شود.


--------------------------------------------------------------------
نمودار دایره ای یا Pie Chart یا Pie Plot معمولا برای نشان دادن سایز و درصد متغیرها بکار می رود:


توجه داشته باشید که مانند نمودارهای دیگر می توان برای این نوع چارت، با استفاده از همان کدها تیتر و برچسبهای دیگر تهیه کرد. 
این تصویر نشان می دهد که مشتریان آمریکا با 32 درصد مجموع فروش، بزرگترین تعداد مشتری ها محسوب می شوند.
---------------------------------------------------------------

Scatter Plot نوع دیگری از نمودارهاست که برای ارتباط میان دو داده جداگانه ثبت شده در دو متغیر بکار می رود. مثلا ثبت قدمهای برداشته شده در روز و میزان کالری مصرف شده توسط بدن که در همان روز به ثبت می رسد.
در جدولی که تا کنون استفاده کرده ایم، ابتدا دو ستون درآمد و سن مشتری را جدا می کنیم. از آنجاییکه که تعداد ردیفهای جدول، یعنی داده های ثبت شده، بسیار زیاد است، یک نمونه 100 تایی از آن جدا می کنیم.


سپس نمودار scatter Plot را به تصویر می کشیم.


همانگونه که ملاحظه می کنید این تصویر که بخشی از داده ها در جدول کلی است نشان می دهد که خریداران در محدوده سنی بین 30 تا 50 بیشترین میزان خرید داشته اند که عمدتا بین چند صد دلار تا 1000 بوده است.
یکی دیگر از نکات مهم علاوه بر انتخاب نمودار درست، تحلیل روشن از تصویر و نمودار بدست آمده است. ما باید قادر باشیم که بزبان ساده و روشن مشخص کنیم که ارتباطی میان متغیرها با یکدیگر و یا Y وجود دارد یا اینکه مشخص کنیم ارتباطی موجود نیست. از اینرو انتخاب نمودار درست، بسیار اهمیت دارد.

یکی از نرم افزاری دیگر که بر روی matplotlib درست شده است، seaborn نام دارد که خصوصیات و ابزار بیشتری را در اختیار قرار می دهد و گاها کار را آسانتر می کند.




- اطلاعات مربوط به این بخش و قسمتهای دیگر در باره پانداز، بیشتر برگرفته از کتاب  Python for Data Analysis, Data Wrangling with Pandas, NumPy,and IPython چاپ دوم از انتشارات اورایلی است که توسط Wes McKinney، خالق پانداز، نوشته شده است. 

*- بیشتر ملاتها در مورد بررسیهای آماری در این سلسله مطالب، برگرفته از دو کتاب An Introduction to Statistical Learning و The Elements of Statistical Learning Data Mining, Inference, and Prediction از انتشارات سپرینگر springer.com/us و کلاسهای ارائه شده آنلاین توسط دانشگاه هاروارد است.



**- استفاده از این سلسله مطالب با ذکر منبع آزاد است.













Comments

Popular posts from this blog

با داده‌ها چه می‌توان کرد؟ 12 - کار با پانداز - 3 چگونه داده‌ها را وارد کنیم؟

با داده‌ها چه می‌توان کرد؟ 7 - استخراج داده ها با پایتون