{ "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-06T14:48:47+00:00", "source_file": "4-Classification/3-Classifiers-2/solution/R/lesson_12-R.ipynb", "language_code": "th" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "jsFutf_ygqSx" }, "source": [] }, { "cell_type": "markdown", "metadata": { "id": "HD54bEefgtNO" }, "source": [ "## ตัวจำแนกประเภทอาหาร 2\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", "ก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับตัวเลือกต่างๆ ที่คุณมีเมื่อจัดประเภทข้อมูลโดยใช้แผ่นโกงของ Microsoft Python's Machine Learning framework, Scikit-learn มีแผ่นโกงที่คล้ายกันแต่มีรายละเอียดมากขึ้น ซึ่งสามารถช่วยจำกัดตัวเลือกของคุณให้แคบลง (อีกคำหนึ่งที่ใช้เรียกตัวจัดประเภท):\n", "\n", "
\n",
" \n",
"
\n",
" \n",
"
\n",
" \n",
"