ساخت مدل یادگیری ماشین با استفاده از پلتفرم نایم (KNIME) – بخش دوم


در بخش اول با نرمافزار KNIME و راه اندازی آن آشنا شدید. حال در بخش دوم مبحث یادگیری ماشین در پلتفرم نایم (KNIME)، به آموزش باقی مراحل ساخت مدل یادگیری ماشین در این پلتفرم خواهیم پرداخت.
3. نحوه پاکسازی دادهها
مسائل دیگری که میتوانید قبل از آموزش دادن به مدل خود در نظر بگیرید، «پاکسازی دادهها – Data Cleaning» و «استخراج ویژگی – Feature Extraction» هستند. در اینجا، مروری بر مراحل پاکسازی دادهها در KNIME خواهیم داشت. برای درک بیشتر استخراج ویژگی، میتوانید به این لینک مراجعه کنید.
1.3. پیدا کردن مقادیر ازدسترفته
پیش از جانهی مقادیر، باید بفهمیم که کدامیک از آنها ازدسترفتهاند. به بخش Node Repository بروید و گره «Missing Values» را پیدا کنید. این گره را به گردش کار اضافه کرده و خروجی گره File Reader را به آن متصل کنید.
2.3. جایگذاری مقادیر
برای جایگذاری مقادیر، گره Missing Value را انتخاب کرده و بر روی گزینه Configure کلیک کنید. با توجه به نوع دادههای خود، جانهی مناسب برای آنها را انتخاب کرده و سپس بر روی دکمه «Apply» کلیک کنید.
هنگامی که این گره را اجرا کنیم، تمام مجموعه دادههای ما به همراه مقادیر جایگذاری شده در خروجی گره Missing Values آماده میشود. برای اجرای تجزیهوتحلیل در این مثال، ما روشهای جانهی را به صورت زیر انتخاب کردیم:
String یا رشته: بیشترین مقادیر (Most Frequent Value)
(Number Double) یا اعداد با حداکثر 15 رقم اعشار: میانه (Median)
(Number Integer) یا اعداد صحیح:میانه (Median)
شما میتوانید از تکنیکهای دیگر نیز جایگذاری0. استفاده کنید:
String:
- Next Value
- Previous Value
- Custom Value
- Remove Row
Number Double and Integer:
- Mean
- Median
- Previous Value
- Next Value
- Custom Value
- Linear Interpolation
- Moving Average
4. آموزش دادن به مدل
بیایید نگاهی به نحوه ساخت یک مدل یادگیری ماشین در KNIME بیندازیم.
1.4. پیادهسازی یک مدل خطی
برای شروع با اصول اولیه، در ابتدا یک مدل خطی (Linear Model) شامل همهی ویژگیهای مجموعه دادههای خود را آموزش خواهیم داد. این کار به منظور درک از نحوه انتخاب ویژگیها و ساخت یک مدل انجام میشود. به بخش Node Repository رفته و گره «Linear Regression Learner» را به گردش کاری خود اضافه کنید. سپس دادههای پاکسازیشده موجود در خروجی (Output Port) گره Missing values را به آن متصل کنید.
در این مرحله، تصویری مانند تصویر بالا دیده میشود؛ مانند این تصویر، در برگه «Configuration»، گزینه «Item_Identifier» را به بخش «Exclude» منتقل کرده و در بخش بالایی مقدار هدف خود را مشخص کنید (در اینجا، مقدار هدف، Item_Outlet_Sales است). بعد از اتمام این کار، باید «Test Data» را برای اجرای مدل خود وارد کنید. یک گره File Reader دیگر به گردش کاری خود اضافه کرده و از روی سیستم خود Test Data را انتخاب کنید.
همانطور که در شکل بالا دیده میشود، Test Data نیز دارای مقادیر ازدسترفته است. این دادها را نیز، از طریق گره Missing Values اجرا میکنیم (مانند قبل). بعد از پاکسازی Test Data، یک گره جدید با عنوان «Regression Predictor» را به گردش کاری خود اضافه میکنیم.
با استفاده از اتصال خروجی Learner به ورودی Predictor، مدل خود را در درون Predictor بارگذاری میکنیم. در ورودی دوم Predictor، Test Data را بارگذاری میکنیم. Predictor به صورت خودکار و بر اساس Learner شما، ستون پیشبینی را تنظیم میکند. با این حال، این ستون به صورت دستی نیز قابل تغییر است. در برگه «Analytics» در پلتفرم KNIME، امکان آموزش به برخی از مدلهای بسیار تخصصی نیز وجود دارد. فهرست این مدلها عبارتاند از:
- خوشهبندی (Clustring)
- شبکههای عصبی (Neural Networks)
- یادگیری ترکیبی (Ensemble Learners)
- دستهبندیکننده بیز ساده (Naïve Bayes)
5. ارسال راهحل
بعد از اجرای Predictor، خروجی شما تقریباً آماده است. گره «Column Filter» را در بخشNode Repository پیدا کرده و آن را به گردش کاری خود اضافه کنید. خروجی Predictor را به Column Filter متصل کنید. به منظور فیلتر کردن ستونها، گزینه Configure را انتخاب کنید. در این مثال، شما به Item_Identifier و Outlet_Identifier و همچنین شما به Prediction) Outlet_Saless) نیاز دارید (مانند بخش Include در تصویر زیر).
Column Filter را اجرا کرده و در نهایت به منظور ذخیرهسازی پیشبینیها در حافظه کامپیوتر، از گره «CSV Writer» استفاده کنید.
محل ذخیره فایل نهایی (با فرمت csv) را تنظیم کرده و گره CSV Writer را اجرا کنید. برای تصحیح نام ستونها، میتوان فایل csv را باز کرده و تغییرات مورد نظر را روی آن انجام داد. در آخر برای ارائه راهحل خود، فایل cvs را با فرمت «zip» فشرده کنید.
تصویر بالا نمودار گردش کار نهایی بهدستآمده را نشان میدهد. زمانی که موضوع قابل حمل بودن مطرح باشد، استفاده از گردش کارهای KNIME بسیار مفید و آسان است. گردشهای کار امکان ارسال برای همکاران و کار گروهی بر روی آنها را دارند. به این صورت، میتوان عملکرد محصول مورد نظر خود را افزایش داد. برای خروجی گرفتن از گردش کاری KNIME، میتوانید به سادگی بر روی گزینه «File» در منوی بالای صفحه بروید و سپس گزینه «Export KNIME Worlflow» را انتخاب کنید.
بعد از این کار، گردش کاری مناسب و مورد نیاز خود برای خروجی را انتخاب کرده و بر روی «Finish» کلیک کنید.
با این کار، یک فایل با پسوند «.knwf» ایجاد میشود. شما میتوانید این فایل را به هرکسی ارسال کنید و آن شخص نیز میتواند تنها با یک کلیک از آن استفاده کند.
6. محدودیتها
KNIME، یک ابزار قدرتمند متنباز بوده و محدودیتهای مختص به خود را دارد. محدودیتهای این ابزار عبارتاند از:
- قابلیتهای مصورسازی و نمایش بصری نتایج به اندازه دیگر نرمافزارهای متنباز، دارای جذابیت و شستهرفته نیستند (مثال: RStudio).
- از بهروزرسانی نسخههای KNIME به خوبی پشتیبانی نمیشود و برای دریافت نسخه بروز، شما مجبور به نصب دوباره نرمافزار هستید.
- انجمنهای مشارکتی در این نرمافزار، به بزرگی انجمنهای Python یا CRAN نیست؛ از اینرو، زمان زیادی برای اضافه شدن افزونههای جدید طول میکشد.
نتیجه گیری
نایم (KNIME)، پلتفرمی است که میتواند برای تقریباً هرگونه تحلیلی مورد استفاده قرار گیرد. در این مقاله، ما نحوه به تصویر کشیدن یک مجموعه داده و استخراج ویژگیهای مهم از آن را مورد بررسی قرار دادیم. علاوه بر این، برای تخمین میزان فروش هر محصول نیز با استفاده از یک پیشبینی کننده رگرسیون خطی، مدل پیشبینی ساخته و اجرا شد. در نهایت، ستونهای مورد نیاز فیلتر و از آنها یک خروجی csv گرفته شد.
امیدواریم این آموزش، برای شما مفید واقع شده باشد. با ارسال نظرات خود، به ما در بهبود کیفیت مطالب کمک کنید.
**
خیلی ممنون از آموزش خوب و کاملتان
سلام وقت بخیر
آموزش بسیار عالی بود
مرسی