{ "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:50:37+00:00", "source_file": "4-Classification/3-Classifiers-2/solution/R/lesson_12-R.ipynb", "language_code": "vi" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "jsFutf_ygqSx" }, "source": [] }, { "cell_type": "markdown", "metadata": { "id": "HD54bEefgtNO" }, "source": [ "## Bộ phân loại ẩm thực 2\n", "\n", "Trong bài học phân loại thứ hai này, chúng ta sẽ khám phá `nhiều cách hơn` để phân loại dữ liệu dạng danh mục. Chúng ta cũng sẽ tìm hiểu về hậu quả của việc chọn một bộ phân loại thay vì bộ phân loại khác.\n", "\n", "### [**Câu hỏi trước bài giảng**](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/23/)\n", "\n", "### **Điều kiện tiên quyết**\n", "\n", "Chúng tôi giả định rằng bạn đã hoàn thành các bài học trước vì chúng ta sẽ tiếp tục sử dụng một số khái niệm đã học trước đó.\n", "\n", "Đối với bài học này, chúng ta sẽ cần các gói sau:\n", "\n", "- `tidyverse`: [tidyverse](https://www.tidyverse.org/) là một [bộ sưu tập các gói R](https://www.tidyverse.org/packages) được thiết kế để làm cho khoa học dữ liệu nhanh hơn, dễ dàng hơn và thú vị hơn!\n", "\n", "- `tidymodels`: [tidymodels](https://www.tidymodels.org/) là một [khung làm việc](https://www.tidymodels.org/packages/) bao gồm các gói dành cho mô hình hóa và học máy.\n", "\n", "- `themis`: [gói themis](https://themis.tidymodels.org/) cung cấp các bước bổ sung trong công thức để xử lý dữ liệu không cân bằng.\n", "\n", "Bạn có thể cài đặt chúng bằng lệnh:\n", "\n", "`install.packages(c(\"tidyverse\", \"tidymodels\", \"kernlab\", \"themis\", \"ranger\", \"xgboost\", \"kknn\"))`\n", "\n", "Ngoài ra, đoạn mã dưới đây sẽ kiểm tra xem bạn đã có các gói cần thiết để hoàn thành module này chưa và cài đặt chúng cho bạn nếu chúng bị thiếu.\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. Một bản đồ phân loại**\n", "\n", "Trong [bài học trước](https://github.com/microsoft/ML-For-Beginners/tree/main/4-Classification/2-Classifiers-1), chúng ta đã cố gắng giải quyết câu hỏi: làm thế nào để chọn giữa nhiều mô hình? Phần lớn điều này phụ thuộc vào đặc điểm của dữ liệu và loại vấn đề mà chúng ta muốn giải quyết (ví dụ như phân loại hay hồi quy?)\n", "\n", "Trước đây, chúng ta đã tìm hiểu về các tùy chọn khác nhau khi phân loại dữ liệu bằng bảng gian lận của Microsoft. Framework Machine Learning của Python, Scikit-learn, cung cấp một bảng gian lận tương tự nhưng chi tiết hơn, giúp bạn thu hẹp các bộ ước lượng (một thuật ngữ khác cho các bộ phân loại):\n", "\n", "
\n",
" \n",
"
\n",
" \n",
"
\n",
" \n",
"