{ "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-06T12:30:50+00:00", "source_file": "4-Classification/3-Classifiers-2/solution/R/lesson_12-R.ipynb", "language_code": "my" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "jsFutf_ygqSx" }, "source": [] }, { "cell_type": "markdown", "metadata": { "id": "HD54bEefgtNO" }, "source": [ "## အစားအစာအမျိုးအစား ခွဲခြားခြင်း ၂\n", "\n", "ဒီ classification သင်ခန်းစာအပိုင်း (ဒုတိယပိုင်း) မှာ categorical data ကို ခွဲခြားဖို့ `ပိုမိုကောင်းမွန်တဲ့နည်းလမ်းများ` ကို လေ့လာသင်ယူမှာဖြစ်ပါတယ်။ ထို့အပြင် classifier တစ်ခုကို ရွေးချယ်ခြင်းက အခြားတစ်ခုနဲ့ ဘယ်လိုကွာခြားမှုတွေရှိမလဲဆိုတာကိုလည်း သင်ယူပါမယ်။\n", "\n", "### [**Pre-lecture quiz**](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/23/)\n", "\n", "### **လိုအပ်ချက်များ**\n", "\n", "ယခင်သင်ခန်းစာများကိုပြီးစီးထားသည်ဟုယူဆပါသည်၊ အကြောင်းမူမကျော်လွှားဘဲ ယခင်သင်ခန်းစာများမှ သင်ယူခဲ့သော အကြောင်းအရာများကို ဆက်လက်အသုံးပြုသွားမည်ဖြစ်သည်။\n", "\n", "ဒီသင်ခန်းစာအတွက် အောက်ပါ packages များလိုအပ်ပါမယ်-\n", "\n", "- `tidyverse`: [tidyverse](https://www.tidyverse.org/) သည် [R packages များ](https://www.tidyverse.org/packages) ရဲ့စုစည်းမှုဖြစ်ပြီး data science ကို ပိုမိုလွယ်ကူစေပြီး ပိုမိုပျော်ရွှင်စေဖို့ ရည်ရွယ်ထားပါတယ်။\n", "\n", "- `tidymodels`: [tidymodels](https://www.tidymodels.org/) framework သည် modeling နဲ့ machine learning အတွက် [packages များ](https://www.tidymodels.org/packages/) ရဲ့စုစည်းမှုဖြစ်ပါတယ်။\n", "\n", "- `themis`: [themis package](https://themis.tidymodels.org/) သည် Unbalanced Data ကို ကိုင်တွယ်ဖို့ Extra Recipes Steps များပေးစွမ်းပါတယ်။\n", "\n", "ဒီ packages များကို အောက်ပါအတိုင်း install လုပ်နိုင်ပါတယ်-\n", "\n", "`install.packages(c(\"tidyverse\", \"tidymodels\", \"kernlab\", \"themis\", \"ranger\", \"xgboost\", \"kknn\"))`\n", "\n", "အခြားနည်းလမ်းအနေနဲ့ အောက်ပါ script သည် module ကိုပြီးစီးဖို့လိုအပ်သော packages များရှိမရှိ စစ်ဆေးပြီး မရှိပါက install လုပ်ပေးပါမယ်။\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) မှာ မေးခွန်းတစ်ခုကို ဖြေရှင်းဖို့ ကြိုးစားခဲ့ပါတယ်။ အဲဒါကတော့ - မော်ဒယ်များစွာအနက် ဘယ်ဟာကို ရွေးချယ်ရမလဲ? အဓိကအားဖြင့် ဒါဟာ ဒေတာရဲ့ လက္ခဏာများနဲ့ ကျွန်တော်တို့ ဖြေရှင်းချင်တဲ့ ပြဿနာအမျိုးအစား (ဥပမာ အမျိုးအစားခွဲခြားခြင်း၊ regression) ပေါ်မူတည်ပါတယ်။\n", "\n", "ယခင်က Microsoft ရဲ့ cheat sheet ကို အသုံးပြုပြီး ဒေတာကို အမျိုးအစားခွဲခြားတဲ့အခါ ရွေးချယ်နိုင်တဲ့ အခြားရွေးချယ်မှုများကို လေ့လာခဲ့ပါတယ်။ Python ရဲ့ Machine Learning framework ဖြစ်တဲ့ Scikit-learn ကလည်း အလားတူ cheat sheet တစ်ခုကို ပေးထားပြီး၊ ဒါဟာ သင့်ရဲ့ estimators (အမျိုးအစားခွဲခြင်းလုပ်ဆောင်သူများ) ကို ပိုမိုသေချာစွာ ရှုမြင်နိုင်အောင် ကူညီပေးနိုင်ပါတယ်။\n", "\n", "
\n",
" \n",
"
\n",
" \n",
"
\n",
" \n",
"