{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "lesson_12-R.ipynb", "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "ir", "display_name": "R" }, "language_info": { "name": "R" }, "coopTranslator": { "original_hash": "fab50046ca413a38939d579f8432274f", "translation_date": "2025-09-04T02:38:47+00:00", "source_file": "4-Classification/3-Classifiers-2/solution/R/lesson_12-R.ipynb", "language_code": "fa" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "jsFutf_ygqSx" }, "source": [ "# ساخت یک مدل طبقهبندی: غذاهای خوشمزه آسیایی و هندی\n" ] }, { "cell_type": "markdown", "metadata": { "id": "HD54bEefgtNO" }, "source": [ "## طبقهبندیکنندههای آشپزی ۲\n", "\n", "در این درس دوم از طبقهبندی، ما به بررسی `روشهای بیشتری` برای طبقهبندی دادههای دستهبندیشده خواهیم پرداخت. همچنین درباره پیامدهای انتخاب یک طبقهبندیکننده نسبت به دیگری یاد خواهیم گرفت.\n", "\n", "### [**آزمون پیش از درس**](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/23/)\n", "\n", "### **پیشنیاز**\n", "\n", "فرض ما این است که شما درسهای قبلی را گذراندهاید، زیرا برخی از مفاهیمی که قبلاً یاد گرفتهایم را ادامه خواهیم داد.\n", "\n", "برای این درس، به بستههای زیر نیاز داریم:\n", "\n", "- `tidyverse`: [tidyverse](https://www.tidyverse.org/) یک [مجموعه از بستههای R](https://www.tidyverse.org/packages) است که برای سریعتر، آسانتر و لذتبخشتر کردن علم داده طراحی شده است!\n", "\n", "- `tidymodels`: چارچوب [tidymodels](https://www.tidymodels.org/) یک [مجموعه از بستهها](https://www.tidymodels.org/packages/) برای مدلسازی و یادگیری ماشین است.\n", "\n", "- `themis`: بسته [themis](https://themis.tidymodels.org/) مراحل اضافی برای مقابله با دادههای نامتعادل را فراهم میکند.\n", "\n", "میتوانید این بستهها را با دستور زیر نصب کنید:\n", "\n", "`install.packages(c(\"tidyverse\", \"tidymodels\", \"kernlab\", \"themis\", \"ranger\", \"xgboost\", \"kknn\"))`\n", "\n", "همچنین، اسکریپت زیر بررسی میکند که آیا بستههای مورد نیاز برای تکمیل این ماژول را دارید یا خیر و در صورت نبود، آنها را برای شما نصب میکند.\n" ] }, { "cell_type": "code", "metadata": { "id": "vZ57IuUxgyQt" }, "source": [ "suppressWarnings(if (!require(\"pacman\"))install.packages(\"pacman\"))\n", "\n", "pacman::p_load(tidyverse, tidymodels, themis, kernlab, ranger, xgboost, kknn)" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "z22M-pj4g07x" }, "source": [ "## **1. یک نقشه طبقهبندی**\n", "\n", "در [درس قبلی](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification/2-Classifiers-1)، سعی کردیم به این پرسش پاسخ دهیم: چگونه بین مدلهای مختلف انتخاب کنیم؟ تا حد زیادی این انتخاب به ویژگیهای داده و نوع مسئلهای که میخواهیم حل کنیم بستگی دارد (برای مثال طبقهبندی یا رگرسیون؟)\n", "\n", "قبلاً درباره گزینههای مختلفی که هنگام طبقهبندی دادهها در اختیار دارید، با استفاده از برگه تقلب مایکروسافت یاد گرفتیم. چارچوب یادگیری ماشین پایتون، Scikit-learn، یک برگه تقلب مشابه اما با جزئیات بیشتر ارائه میدهد که میتواند به شما در محدود کردن انتخاب تخمینگرها (اصطلاح دیگری برای طبقهبندها) کمک کند:\n", "\n", "
\n",
" \n",
"
\n",
" \n",
"
\n",
" \n",
"