PyCaret – علم داده، آسانتر از همیشه
اگر زمان کافی نداشته و به دنبال آن هستید که در کسری از ثانیه یک مدل یادگیری ماشین بسازید، PyCaret گزینه خوبیست. کتابخانه پایتونی PyCaret ابزار بسیار مفیدی است که برای ایجاد همزمان انواع مدلهای یادگیری ماشین استفاده میشود. از مزایای مهم آن سرعت بالا و تعداد خطوط بسیار کم است که شما را از نوشتن کدهای طولانی و پیدرپی نجات میدهد.
در این سه قسمت آموزشی سعی میکنیم صفر تا صد اجرای یک پروژه عملی را بررسی کنیم. طبیعتا Pycaret ابزاری قوی و مناسب است ولی ارزش آن جایی نمایانتر میشود که زمان کمی داشته باشیم ولی بهدنبال نتیجه خوب باشیم.
ابتدا معرفی اولیه از PyCaret خواهیم داشت، سپس نحوه نصب آن را آموزش میدهیم و در ادامه از PyCaret برای ساخت مدلهای یادگیری ماشین قابل تفسیر استفاده میکنیم.
معرفی:
اولین مدل یادگیری ماشینی که زبان پایتون برای یک مسابقه نوشتم یک کد سنگین و پیچیده بود. هنوز هم خطوط زیادی از کد را که برای ساخت یک مدل کلی لازم بود بهخاطر میآورم – برای حل کردن آنهمه پیچیدگی به یک جادوگر احتیاج بود!
وقتی صحبت از ساخت مدلهای یادگیری ماشین بهخصوص در صنعت میشود، نوشتن کد مؤثر، رمز موفقیت است. به همین دلیل اکیداً توصیه میکنم از کتابخانه PyCaret استفاده کنید.
کاش PyCaret در روزهایی که تازه شروع به یادگیری ماشین کرده بودم در دسترسم بود! این کتابخانه فوقالعاده انعطافپذیر و مفید است که در ماههای اخیر همیشه از آن استفاده میکنم. کاملاً معتقدم هرکسی که آرزو دارد بهعنوان یک متخصص علوم داده یا تجزیهوتحلیل اطلاعات موفق شود، از استفاده از PyCaret سودمند خواهد شد.
فهرست مطالب
1. ابزار PyCaret چیست و چرا باید از آن استفاده کنید؟
2. نصب PyCaret
3. آشنایی بیشتر با PyCaret
4. آموزش مدل یادگیری ماشین با Pycaret
5. ساخت مدلهای مختلف یادگیری ماشین با Pycaret
6. تجزیهوتحلیل مدل
7. پیشبینی به کمک مدل
8. ذخیره و بارگذاری مدل
سوال: PyCaret چیست و چرا باید از آن استفاده کنید؟
کتابخانه PyCaret منبع باز است ویک کتابخانه یادگیری ماشین در پایتون است که از پیشپردازش دادهها تا استقرار مدل به شما کمک میکند. تقریباً فقط با یک خط کد میتوانید هر پروژه علوم داده را بهراحتی انجام دهید.
در ادامه دو فایده اصلی PyCaret را بررسی میکنیم:
1. یک کتابخانه کم کد که باعث کارایی بیشتر میشود و زمان کدنویسی رو کاهش میدهد.
2. این کتابخانه به شما در انجام پروژههای یادگیری ماشین کمک میکند مثل محاسبه مقادیر ازدسترفته، رمزگذاری دادههای طبقهبندیشده، مهندسی ویژگی، تنظیم پارامتر یا ساخت مدلهای کلی.
نصب PyCaret
نصب این کتابخانه ساده است کافی است با استفاده از pip آن را نصب کنید. برای شروع، دستور زیر را در Jupyter Notebook خود اجرا کنید:
1!pip install pycaret
در ادامه با PyCaret بیشتر آشنا میشویم:
شرح مسئله و مجموعه داده
در ادامه به حل یک مسئله طبقهبندی میپردازیم. یک مجموعه داده بانکی داریم با ویژگیهایی مانند سن مشتری، تجربه، درآمد، تحصیلات و اینکه آیا فرد کارت اعتباری دارد یا خیر. این بانک میخواهد یک مدل یادگیری ماشینی برای شناسایی مشتریان بالقوهای که با احتمال بالایی در آینده درخواست وام میدهند.
مجموعه داده شامل 5000 ردیف است و ما 4000 مورد را برای آموزش مدل خود و 1000 مورد دیگر را برای آزمایش مدل نگهداشتهایم.
خواندن مجموعه داده با استفاده از کتابخانه Pandas
123456# importing pandas to read the CSV file import pandas as pd # read the data data_classification = pd.read_csv('datasets/loan_train_data.csv') # view the top rows of the data data_classification.head()
قبل از شروع پروژه یادگیری ماشین درPyCaret، باید تنظیمات اولیه را انجام دهیم که دو مرحله دارد:
1. واردکردن ماژول: بسته به نوع مسئلهای که میخواهید حل کنید، ابتدا باید ماژول را وارد کنید. در نسخه اول، 6 ماژول مختلف موجود است که شامل رگرسیون، طبقهبندی، خوشهبندی، پردازش زبان طبیعی (NLP) ، تشخیص ناهنجاری و استخراج قوانین انجمنی میباشد.
2. راهاندازی اولیه: در این مرحله، PyCaret کارهای اساسی پیشپردازش داده را انجام میدهد، مثل چشمپوشی از شناسهها (id) و ستونهای تاریخ، محاسبه مقادیر ازدسترفته، رمزگذاری متغیرهای categorical و تقسیم مجموعه داده به آزمون و آموزشی. وقتی تابع setup را اجرا میکنید، ابتدا انواع دادهها را تأیید میکند و سپس اگر enter را فشار دهید، محیطی برای ادامه کار ایجاد میشود.
1234# import the classification module from pycaret import classification # setup the environment classification_setup = classification.setup(data= data_classification, target='Personal Loan')
آموزش مدل یادگیری ماشین با PyCaret
آموزش یک مدل در PyCaret بسیار ساده است. فقط باید از تابع create_model استفاده کنید که فقط یک پارامتر را میگیر. در اینجا، ابتدا قصد داریم یک مدل درخت تصمیمگیری را آموزش دهیم که باید “dt” را برای آن قرار دهیم و آن جدولی را با امتیازات معتبر k-fold که معیارهای ارزیابی رایجیاند که برای مدلهای طبقهبندی استفاده میشود، برمیگرداند.
در اینجا به یادآوری سریع معیارهای ارزیابی مورداستفاده برای یادگیری تحت نظارت میپردازیم:
- طبقهبندی: Accuracy, AUC, Recall, Precision, F1, Kappa
· رگرسیون: MAE، MSE ، RMSE ، R2 ، RMSLE ، MAPE
میتوانید صفحه PyCaret را برای اختصارات بیشتر بررسی کنید. (https://pycaret.org/)
12# build the decision tree model classification_dt = classification.create_model('dt')
به همین ترتیب، برای آموزش مدل XGBoost ، فقط باید رشته “xgboost” را اضافه کنید:
12# build the xgboost model classification_xgb = classification.create_model('xgboost')
در قسمت اول آموزش به سراغ معرفی، نصب، بارگذاری دادهها و اجرای مدل رفته و در آموزش به مباحثی مثل فاین تیونیگ و bagging and boosting خواهیم پرداخت.
منبع:
Running Low on Time? Use PyCaret to Build your Machine Learning Model in Seconds