بصری سازی داده ها در پایتون
بصری سازی داده ها در پایتون
مقدمه
تجسم داده ها در پایتون شاید یکی از پرکاربرد ترین ویژگی ها برای علم داده با پایتون در عصر امروز باشد. کتابخانه های پایتون دارای بسیاری از ویژگیهای مختلف است که کاربران را قادر می سازد تا تصویر سازی یا تجسم های بسیار سفارشی، زیبا و تعاملی ایجاد کنند.
در این مقاله، استفاده از Matplotlib، Seaborn و همچنین مقدمه ای بر بسته های جایگزین دیگری که می توانند در تجسم پایتون مورد استفاده قرار گیرند را پوشش خواهیم داد.
در Matplotlib و Seaborn، ما تعدادی از پرکاربردترین نمودار ها در دنیای علم داده را برای تجسم آسان پوشش خواهیم داد.
در ادامه مقاله، ویژگی قدرتمند دیگری در تجسم های پایتون، طرح فرعی، را مرور می کنیم و یک راه حل اساسی برای ایجاد طرح های فرعی را یاد خواهیم گرفت.
بسته های مفید برای تجسم در پایتون
Matplotlib
Matplotlib یک کتابخانه تجسمی در پایتون برای نمودار های دو بعدی از آرایه ها است. Matplotlib در پایتون نوشته شده است و از کتابخانه NumPy استفاده می کند. می توان از آن در پوسته های پایتون و آی پایتون، نوت بوک Jupyter و سرور های برنامه های وب استفاده کرد. Matplotlib با طیف گسترده ای از نمودار ها مانند خط، نوار، پراکندگی، هیستوگرام و غیره ارائه می شود که می تواند به ما در درک روند ها، الگو ها، همبستگی ها کمک کند. در سال 2002 توسط جان هانتر معرفی شد.
Seaborn
Seaborn یک کتابخانه مجموعه داده=محور برای ساخت نمایش های آماری در پایتون است. در بالای matplotlib و برای ایجاد تجسم های مختلف توسعه یافته است. با ساختار های داده پانداها یکپارچه شده است. کتابخانه به صورت داخلی نقشه برداری و تجمیع مورد نیاز را برای ایجاد تصاویری آموزنده انجام می دهد. توصیه می شود از رابط Jupyter / IPython در حالت matplotlib استفاده کنید.
Bokeh
Bokeh یک کتابخانه تجسم تعاملی برای مرورگرهای وب مدرن است. این کتابخانه برای دارایی های داده بزرگ یا جریانی مناسب است و می تواند برای توسعه نمودار ها و داشبورد های تعاملی استفاده شود. مجموعه گسترده ای از نمودار های بصری در کتابخانه وجود دارد که می توان از آنها برای توسعه راه حل ها استفاده کرد. این به طور نزدیک با ابزار PyData کار می کند. این کتابخانه برای ایجاد تصاویر سفارشی با توجه به موارد مورد نیاز مناسب است. تصاویر را نیز میتوان تعاملی کرد تا به مدل سناریو اگه-چی (what-if) کمک کند. همه کد ها منبع باز هستند و در GitHub در دسترس هستند.
Altair
Altair یک کتابخانه تجسم آماری اعلامی برای پایتون است. API Altair کاربر پسند و سازگار است و بر روی مشخصات Vega Lite JSON ساخته شده است. کتابخانه اعلانی نشان می دهد که هنگام ایجاد هر گونه تصویری، باید پیوند های بین ستون های داده را به کانال ها (محور x، محور y، اندازه، رنگ) تعریف کنیم. با کمک Altair، می توان تصاویری آموزنده با حداقل کد ایجاد کرد. Altair دارای دستور زبان بیانی از تجسم و تعامل است.
Plotly
plotly.py یک کتابخانه تجسمی تعاملی، منبع-باز، سطح-بالا، اعلانی و مبتنی بر مرورگر برای پایتون است. دارای مجموعه ای از تجسم مفید است که شامل نمودار های علمی، نمودار های سه بعدی، نمودار های آماری، نمودار های مالی و غیره است. نمودار های Plotly را می توان در نوت بوک های Jupyter، فایل های HTML مستقل یا میزبانی آنلاین مشاهده کرد. کتابخانه Plotly گزینه هایی را برای تعامل و ویرایش فراهم می کند. API قوی در هر دو حالت محلی و مرورگر وب کاملا کار می کند.
ggplot
ggplot پیاده سازی پایتون از گرامر گرافیک است. Grammar of Graphics به نگاشت داده ها به ویژگی های زیبایی شناختی (رنگ، شکل، اندازه) و اشیاء هندسی (نقاط، خطوط، میله ها) اشاره دارد. بلوک های ساختمانی اساسی با توجه به دستور زبان گرافیک عبارتند از داده ها، ژئومتریک (اشیاء هندسی)، آمار (تبدیل های آماری)، مقیاس، سیستم مختصات و وجه.
استفاده از ggplot در پایتون به شما این امکان را می دهد که تجسم های آموزنده را به صورت تدریجی توسعه دهید، ابتدا تفاوت های ظریف داده ها را درک کنید، و سپس مولفه ها را برای بهبود بازنمایی بصری تنظیم کنید.
چگونه از تجسم درست استفاده کنیم؟
برای استخراج اطلاعات مورد نیاز از تصاویر متفاوتی که ایجاد می کنیم، ضروری است که بر اساس نوع داده ها و سؤالاتی که سعی در درک آنها داریم از نمایش صحیح استفاده کنیم. در زیر مجموعه ای از پرکاربردترین نمایش ها را بررسی می کنیم و اینکه چگونه می توانیم از آنها به بهترین شکل استفاده کنیم.
نمودار میله ای
نمودار میله ای زمانی استفاده می شود که بخواهیم مقادیر متریک را در زیر گروه های مختلف داده ها مقایسه کنیم. اگر تعداد گروه ها بیشتر باشد، نمودار میله ای بر نمودار ستونی ترجیح داده می شود.
نمودار میله ای با استفاده از Matplotlib
نمودار میله ای با استفاده از Seaborn
نمودار ستونی
نمودار های ستونی بیشتر زمانی استفاده می شود که ما نیاز به مقایسه یک دسته از داده ها بین موارد فرعی جداگانه داریم، به عنوان مثال، هنگام مقایسه درآمد بین مناطق.
نمودار ستونی با استفاده از Matplotlib
نمودار ستونی با استفاده از Seaborn
نمودار میله ای گروه بندی شده
نمودار میله ای گروه بندی شده زمانی استفاده می شود که بخواهیم مقادیر را در گروه ها و زیر-گروه های خاص مقایسه کنیم
نمودار میله ای گروه بندی شده با استفاده از Matplotlib
نمودار میله ای گروه بندی شده با استفاده از Seaborn
نمودار میله ای انباشته
نمودار میله ای انباشته زمانی استفاده می شود که بخواهیم کل اندازه ها را در گروه های موجود و ترکیب زیر گروه های مختلف مقایسه کنیم.
نمودار میله ای انباشته با استفاده از Matplotlib
نمودار میله ای انباشته با استفاده از Seaborn
نمودار خطی
نمودار خطی برای نمایش نقاط داده پیوسته استفاده می شود. زمانی که می خواهیم روند را در طول زمان درک کنیم، می توان از این تصویر به طور مؤثر استفاده کرد.
نمودار خطی با استفاده از Matplotlib
نمودار خطی با استفاده از Seaborn
نمودار دایره ای
نمودار های دایره ای می توانند برای شناسایی نسبت های اجزای مختلف در یک کل معین استفاده شوند.
نمودار دایره ای با استفاده از Matplotlib
نمودار مساحت
نمودار های مساحت برای ردیابی تغییرات در طول زمان برای یک یا چند گروه استفاده می شود. زمانی که بخواهیم تغییرات را در طول زمان برای بیش از 1 گروه ثبت کنیم، نمودار های ناحیه نسبت به نمودار های خطی ترجیح داده می شوند.
نمودار مساحتی با استفاده از Matplotlib
نمودار مساحت با استفاده از Seaborn
هیستوگرام ستونی
هیستوگرام های ستونی برای مشاهده توزیع برای یک متغیر منفرد با نقاط داده کمی استفاده می شود.
نمودار ستونی با استفاده از Matplotlib
نمودار ستونی با استفاده از Seaborn
هیستوگرام خط
هیستوگرام خط برای مشاهده توزیع برای یک متغیر منفرد با نقاط داده بسیار زیادی استفاده می شود.
نمودار هیستوگرام خطی با استفاده از Matplotlib
نمودار هیستوگرام خطی با استفاده از Seaborn
طرح پراکنده
نمودار های پراکندگی می توانند برای شناسایی روابط بین دو متغیر استفاده شوند. در شرایطی که متغیر وابسته می تواند چندین مقدار برای متغیر مستقل داشته باشد، می تواند به طور موثر مورد استفاده قرار گیرد.
نمودار پراکندگی با استفاده از Matplotlib
نمودار پراکندگی با استفاده از Seaborn
نمودار حباب
نمودار های پراکندگی می توانند برای به تصویر کشیدن و نشان دادن روابط بین سه متغیر مورد استفاده قرار گیرند.
نمودار حباب با استفاده از Matplotlib
نمودار حباب با استفاده از Seaborn
طرح جعبه
نمودار جعبه ای برای نشان دادن شکل توزیع، مقدار مرکزی و تغییر پذیری آن استفاده می شود.
نمودار جعبه با استفاده از Matplotlib
طرح جعبه با استفاده از Seaborn
نمودار آبشار
نمودار آبشار را می توان برای توضیح انتقال تدریجی در مقدار متغیری که در معرض افزایش یا کاهش است، استفاده کرد.
نمودار Venn
نمودارهای ون برای مشاهده روابط بین دو یا سه مجموعه از آیتم ها استفاده می شود. شباهت ها و تفاوت ها را برجسته می کند.
نقشه درختی
نقشه های درختی عمدتا برای نمایش داده هایی استفاده می شوند که در یک ساختار سلسله مراتبی گروه بندی و تودرتو هستند و سهم هر جزء را مشاهده می کنند.
نمودار میله ای 100% انباشته
زمانی که می خواهیم تفاوت های نسبی را در هر گروه برای زیرگروه های مختلف در دسترس نشان دهیم، می توان از نمودار میلهای 100% انباشته استفاده کرد.
نمودار حاشیه ای یا کناری
نمودار های حاشیه ای برای ارزیابی رابطه بین دو متغیر و بررسی توزیع آنها استفاده می شود. چنین نمودار ها، نمودار هایی را پراکنده می کنند که دارای هیستوگرام، نمودار جعبه یا نمودار نقطه ای در حاشیه محور های x و y هستند.
طرح های فرعی
طرح های فرعی تجسم های قدرتمندی هستند که به مقایسه آسان بین طرح ها کمک می کنند.
در نتیجه، مجموعه ای از کتابخانه های مختلف وجود دارد که می توان با درک موارد استفاده و نیاز، از پتانسیل کامل آنها استفاده کرد. نحو و معنا شناسی از بسته ای به بسته دیگر متفاوت است و درک چالش ها و مزایای کتابخانه های مختلف ضروری است./
دیدگاهتان را بنویسید