ساخت مدل یادگیری ماشین با استفاده از پلتفرم نایم (KNIME) — بخش اول
بزرگترین چالش افراد تازهکار در علم دادهها و یادگیری ماشین، وجود مفاهیم بسیار زیاد برای یادگیری است. مخصوصاً اگر ما هیچ اطلاعی از نحوه کدنویسی نداشته باشیم. برای این منظور، شما باید بهسرعت با جبر خطی، آمار و دیگر مفاهیم ریاضی آشنا شوید و نحوه کدنویسی آنها را بیاموزید. یادگیری و کار با همهی این مفاهیم میتواند کمی بیش از حد و توان کاربران جدید در حوزه یادگیری ماشین باشد.
اگر هیچ پیشزمینه در کدنویسی ندارید و مواجهه با آن برایتان مشکل است، میتوانید یادگیری علم دادهها را با استفاده از ابزارهای مبتنی بر رابط کاربری گرافیک (GUI) شروع کنید. این امر باعث میشود شما در روزهای ابتدایی، توان خود را بر روی یادگیری موضوع متمرکز کنید. هنگامی که با مفاهیم پایهای موضوع خو گرفتید، میتوانید در هر زمانی نحوه کدنویسی را یاد بگیرید.
در این مقاله، نحوه کار با یکی از ابزارهای مبتنی بر رابط گرافیکی در موضوع یادگیری ماشین را به شما آموزش خواهیم داد. این ابزار، نایم (KNIME) نام دارد. در انتهای این آموزش، شما قادر خواهید بود بدون هیچگونه کدنویسی، با اجرای یک مثال، میزان فروش یک فروشگاه را پیشبینی کنید.
دلیل استفاده از پلتفرم KNIME
KNIME، یک پلتفرم مبتنی بر رابط کاربری گرافیکی بوده که با هدف اجرای تجزیهوتحلیلهای قدرتمند ساخته شده است. این بدان معناست که شما برای استفاده از KNIME و درک مفاهیم مربوط به آن، نیازی به دانستن نحوه کدنویسی ندارید. شما میتوانید توابع مختلف، از اجرای عملکردهای ابتدایی ورودی/خروجی گرفته تا دستکاری دادهها، تبدیل دادهها و دادهکاوی را اجرا کنید. این کار باعث میشود که همهی توابع موجود در کل فرآیند، در یک گردش کاری واحد ترکیب شوند.
1. راهاندازی سیستم
برای شروع کار با KNIME، ابتدا باید آن را بر روی کامپیوتر خود نصب کرده و راهاندازی کنید.
مرحله اول: به آدرس اینترنتی موجود در این لینک(+) مراجعه کنید.
مرحله دوم: نسخه مناسب با کامپیوتر خود را پیدا کنید.
مرحله سوم: پلتفرم KNIME را نصب کرده و مسیر ذخیره فایلهای مربوط به پروژهها (Working Directory) را تنظیم کنید.
تصویر بالا، تصویر صفحه اصلی KNIME را نشان میدهد.
1.1. ساخت گردش کاری
قبل از وارد شدن به مبحث نحوه کار با KNIME، برای درک بهتر موضوع باید با تعریف یک سری اصطلاحات کلیدی آشنا شویم. سپس خواهیم دید که چگونه میتوان یک پروژه جدید را در KNIME به وجود آورد.
گره: یک گره، نقطه پردازشی اصلی در هرگونه فرآیند دستکاری داده است. بر اساس انتخابهای شما در گردش کاری، یک گره میتواند فعالیتهای متعددی را انجام دهد.
گردش کاری: گردش کاری، توالی و دنبالهای از مراحل یا فعالیتهایی است که شما برای رسیدن به یک هدف مشخص در پلتفرم خود وارد میکنید.
بخش راهنمای گردش کار (Workflow Coach) در قسمت بالای کادر سمت چپ صفحه، نشان خواهد داد که چند درصد از اعضای انجمن KNIME، استفاده از یک گره خاص را توصیه میکنند. مخزن گره (Node Repository)، تمام گرههایی که یک گردش کاری خاص قادر به استفاده از آنها باشد را با توجه به نیاز شما به نمایش در میآورد. هنگامی که شما اولین گردش کاری خود را ایجاد کردید، میتوانید به منظور بررسی گردشهای کاری بیشتر، به بخش «Browse Example Workflow» بروید. این کار، اولین مرحله ایجاد راهحل برای هر مسئله است. برای تنظیم یک گردش کاری، مراحل زیر را دنبال کنید.
مرحله اول: به بخش «File» در منوی نواری بالای صفحه بروید و گزینه «New» را انتخاب کنید.
مرحله دوم: یک گردش کاری جدید KNIME را در پلتفرم خود ایجاد کنید و نام آن را «Introduction» قرار دهید.
مرحله سوم: برای اتمام ساخت گردش کاری، بر روی گزینه «Finish» کلیک کنید.
تا اینجای کار، شما یک گردش کاری خالی در KNIME ایجاد کردهاید. حال، میتوانید در مورد هر مسئلهای کاوش کرده و توسط کشیدن هر گره از مخزن به گردش کاری خود، آن مسئله را حل نمایید.
2. معرفی KNIME
KNIME، پلتفرمی است که به ما کمک میکند تا هر مسئله ممکنی را در محدوده علم دادهها حل کنیم. از موضوعات پایهای مصورسازی یا رگرسیون خطی تا یادگیری عمیق پیشرفته، همه و همه در KNIME قابل اجرا هستند. به عنوان نمونه، ما یک مسئله اقتصادی را برای حل در KNIME انتخاب کردهایم. تعریف مسئله در ادامه مطلب به صورت کامل تشریح خواهد گردید.
دادهپژوهان فروشگاههای زنجیرهای «BigMart»، دادههای فروش سال 2013 را برای 1559 محصول در 10 فروشگاه (در شهرهای مختلف) جمعآوری کردند. علاوه بر این، ویژگیهای خاص هر یک از محصولات و فروشگاه نیز تعریف شدند. هدف از جمعآوری این دادهها، ساخت یک مدل پیشبینی کننده و دریافتن میزان فروش هر محصول در یک فروشگاه خاص است. با استفاده از این مدل، BigMart تلاش خواهد کرد که ویژگیهای فروشگاههایی و محصولات را پیدا کند که در افزایش فروش نقش مهمی دارند.
1.2. وارد کردن فایلهای داده
بگذارید با اولین و یکی از مهمترین مراحل درک مسئله، یعنی وارد کردن دادهها شروع کنیم.
گره «file reader» را از بخش «Node Repository» گرفته و آن را در بخش گردش کاری رها کنید. سپس، فایل مورد نیاز خود را برای وارد کردن به گردش کاری جستجو و پیدا کنید. از آنجایی که در این مقاله قصد داریم، نحوه حل مسئله کاربردی فروش در فروشگاههای BigMart را یاد بگیریم، مجموعه دادههای آموزش (Training Dataset) را از فروش BigMart به گردش کاری خود وارد میکنیم.
زمانی که شما مجموعه دادههای خود را وارد میکنید، پیشنمایش آنها به صورت تصویر بالا خواهد بود.
بگذارید برخی از ستونهای مرتبط را مصورسازی کرده و همبستگی بین آنها را پیدا کنیم. «همبستگی» به ما در پیدا کردن ستونهای مرتبط به هم کمک میکند. به این صورت، رابطههایی با قدرت پیشبینی بالاتر و در نتیجه، نتایج پایانی را میتوان تشخیص داد. برای ایجاد ماتریکس همبستگی، در بخش Node Repository، عبارت «Linear Correlation» را تایپ میکنیم. سپس گره مربوط به آن را به درون گردش کاری خود میکشیم.
پس از انجام این مراحل (مانند تصویر بالا)، خروجی گره File Reader را به ورودی گره Linear Correlation متصل میکنیم. در ادامه باید بر روی دکمه سبزرنگ «Execute» در بالاترین بخش پنل کلیک کنید. حال بر روی گره correlation راستکلیک کرده و جهت ایجاد تصویر زیر، گزینه «View Correlation Matrix» را انتخاب کنید.
این کار به شما کمک میکند تا به وسیله حرکت بر روی سلولهای خاص، ویژگیهای مهم و مورد نیاز برای پیشبینیهای بهتر را شناسایی و انتخاب کند. در ادامه، برای درک بهتر محدوده و الگوهای مجموعه دادهها، آنها را مصورسازی خواهیم کرد.
2.2. مصورسازی و تجزیهوتحلیل
یکی از ابتداییترین کارهایی که باید در مورد دادههای خود بدانیم، این است که کدامیک از محصولات، بیشترین فروش را نسبت به بقیه داشته است. دو روش برای تفسیر اطلاعات وجود دارد.
روش اول: نمودار پراکندگی
در بخش Node Repository و پایین برگه «Views»، گزینه «Scatter Plot» را پیدا کنید. سپس، گره مربوطه را به بخش گردش کار اضافه کرده و خروجی گره File Reader را به آن متصل کنید. در مرحله بعد، مانند تصویر زیر بر روی گره Scatter Plot کلیک راست کرده و گزینه «Configure» را انتخاب کنید. پس از این کار، باید تعداد ردیفهای داده مورد نیاز برای مصورسازی را مشخص کنید (ما 3000 ردیف را وارد کردیم). بر روی «Execute» و سپس «View: Scatter Plot» کلیک کنید.
ما در این مثال، محور X را به صورت نوع محصول یا «Item_Type» و محور Y را به صورت خروجی فروش محصول یا «Item_Outlet_Sales» انتخاب کردیم. نموداری که در تصویر بالا مشاهده میکنید، میزان فروش هر نوع محصول را به صورت جداگانه نشان میدهد. این نمودار بیان میکند که میوه و سبزیها در تعداد بالایی به فروش میرسند.
روش دوم: نمودار دایرهای
برای درک تخمین میانگین فروش همه محصولات در پایگاه داده خود، ما از نمودار دایرهای استفاده میکنیم.
مانند مراحل نمودار پراکندگی، در بخش Node Repository و پایین برگه «Views»، بر روی گزینه «Scatter Plot» کلیک کرده و آن را به گره File Reader متصل کنید. تعداد ستونهای جدایش و روشهای تجمعی مورد نظر خود را انتخاب کرده و سپس تنظیمات را اعمال (Apply) کنید.
این نمودار، تقسیمبندی همه محصولات بر اساس میانگین فروش کل را نشان میدهد. «غذاهای نشاسته دار – Starchy Foods» بیشترین میانگین (7.7 درصد) را از آن خود کردهاند. در این مثال، تنها از دو نوع تفسیر بصری استفاده کردیم. شما میتوانید دادههای خود را با شکلهای و روشهای مختلف موجود در برگه «Views» بررسی کنید. نمودارهای هیستوگرام، خطی و غیره نیز برای تصویرسازی بهتر نتایج، قابل استفاده هستند.
در ادامه این مبحث و در بخش دوم، به آموزش باقی مراحل ساخت مدل یادگیری ماشین در پلتفرم نایم خواهیم پرداخت.
**