رفتن به نوشته‌ها

ویژوالایز کردن دیتاست با Facets

چند ماه پیش گوگل ابزار متن‌بازی به نام Facet را در وبلاگ خودش معرفی کرد. که این ابزار این امکان را به ما می‌دهد که دید بهتری نسبت به داده‌ای که با آن کار می‌کنیم داشته باشیم. facet از دو قسمت تشکیل شده است: facet-dive و facet-overview که هر کدومشون در نوع خود جالب هستند و جنبه‌های مختلفی از دیتاست را به ما نمایش میدهند.
کار با این دو ابزار بسیار راحت است. تنها چیزی که لازم است بلد باشید اندکی کار با پکیج panda و استخراج فیچرهای متناسب با کاری که میخواهید انجام بدید. در این پست میخواهیم به سراغ این ابزار بریم و ببینیم چطور می‌توان از آن استفاده کرد.

راه‌اندازی، نصب، تست و …

برای اینکه بتوانیم با این ابزار کار کنیم کافی است مطابق دستوراتی که در گیت‌هاب پروژه گفته شده است عمل کنیم.

ابتدا پروژه را کلون بگیرید و به پوشه facets بروید:

سپس Jupyter notebook را مطابق دستورات زیر نصب کنید http://jupyter.org/install.html

حال Facet را به عنوان یک افزونه به Jupyter notebook اضافه می‌کنیم و تست میکنیم ببینیم به درستی نصب شده است یا خیر:

اگر تا به اینجا درست پیش رفته باشیم وقتی دستور Jupyter notebook را میزنیم باید ‌Browser باز شود و همچین چیزی به شما نمایش داده شود (دقت کنید در حال حاضر facet فقط از کروم پشتیبانی می‌کند):

facet test installation

خب حالا برای اینکه مثالهای خود facets رو تست کنید میتونید به پوشه facet_dive برید و روی فایل Dive_demo را کلیک کنید که چیزی مثل پایین برای شما نمایش داده خواهد شد:

facet-dive tutorial

که اگر دوبار RUN رو در منو بزنید مشاهده میکنید که ابتدا دیتاست UCI را دانلود و سپس ویژگیها را ویژوالایز میکند. همانطور که  در پایین صفحه مشاهده می‌کنید به راحتی میتونید با facets به صورت تعاملی کار کنید و با فیچرهای مختلف خیلی راحت بازی کنید :دی مثلا من در قسمت faceting که فیچرهای مارو مشخص میکند سن رو انتخاب کردم و به صورت پایین نمایش داده شد:

آموزش یادگیری ماشین facets

 

از آنجایی که پروژه من بر روی دیتاست کوئرا تعریف شده است (Binary short text classification) فرصت را غنیمت شمردم تا این ابزار را روی دیتاست کوئرا تست کنم. برای همین ده هزارتا نمونه از دیتاست کوئرا به صورت تصادفی انتخاب کردم و یک سری فیچر از اون استخراج کردم مثل: تعداد کلمات مشترک بین دو سوال، تفاوت طول دو سوال و… آنوقت آن را ویژوالایز کردم که نتیجه آن برام جالب بود. مثلا یکی از نتایجی که گرفتم این بود که وقتی هیچ کلمه مشترکی وجود نداشته باشد همیشه این برچسب شباهت 0 خواهد بود 🙂 (البته من روی تمام سوال این قضیه رو تست نکردم و روی ده‌هزارتا نمونه این اتفاق افتاد)

اعداد روی ستون تعداد کلمات مشترک را نمایش میدهد (در این ده هزارتا نمونه حداکثر ۲۷ کلمه مشترک داشتیم) و دایره های قرمز وقتی برچسب ۱ و دایره های آبی وقتی برچسب ۰ هستند نمایش میدهد.

facets data visualization on quora

 

همین کار رو میشه با facet_overview انجام داد و چیزهای جالبی درباره دیتاتون به دست بیارید. در قسمت بعدی این آموزش سعی میکنم نحوه خروجی گرفتن و قرار دادن داده روی سرور را توضیح بدهم که این امکان رو به بقیه بدهد تا با داده شما کار کنند.

 

منتشر شده در آموزشیادگیری ماشین

اولین باشید که نظر می دهید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *