# Evaluation

## Evaluation trong Machine Learning là gì?

### 1. Định nghĩa

**Evaluation** là quá trình đo lường hiệu suất (performance) của một mô hình Machine Learning nhằm xác định:

* Mô hình có hoạt động tốt không?
* Mô hình có tổng quát hóa được trên dữ liệu mới không?
* Mô hình nào tốt hơn để lựa chọn?

Evaluation là bước bắt buộc sau khi huấn luyện mô hình.

***

## 2. Có mấy loại Evaluation?

Tùy theo loại bài toán, evaluation được chia thành:

### (A) Classification Evaluation

Dùng cho bài toán phân loại (có / không, spam / không spam…)

### (B) Regression Evaluation

Dùng cho bài toán dự đoán giá trị liên tục (giá nhà, nhiệt độ…)

### (C) Clustering Evaluation

Dùng cho bài toán phân cụm

Trong mục này tập trung vào **Classification Evaluation**.

***

## 3. Confusion Matrix – nền tảng của Evaluation

Trong bài toán nhị phân, ta có:

|               | Dự đoán Dương | Dự đoán Âm |
| ------------- | ------------- | ---------- |
| Thực tế Dương | TP            | FN         |
| Thực tế Âm    | FP            | TN         |

Trong đó:

* TP (True Positive): dự đoán đúng dương
* TN (True Negative): dự đoán đúng âm
* FP (False Positive): dự đoán sai dương
* FN (False Negative): dự đoán sai âm

Mọi metric như Accuracy, Sensitivity, Specificity đều được tính từ đây.

***

## 4. Các loại Evaluation phổ biến trong Classification

### 4.1 Accuracy

#### Định nghĩa

Tỷ lệ dự đoán đúng trên toàn bộ dữ liệu.

Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP + TN}{TP + TN + FP + FN}Accuracy=TP+TN+FP+FNTP+TN​

#### Ví dụ

Giả sử:

* TP = 80
* TN = 10
* FP = 5
* FN = 5

Accuracy=80+10100=0.90Accuracy = \frac{80 + 10}{100} = 0.90Accuracy=10080+10​=0.90

Accuracy = 90%

#### Hạn chế

Accuracy không phù hợp khi dữ liệu mất cân bằng.

Ví dụ:

* 95% bệnh nhân không mắc bệnh
* Mô hình luôn dự đoán “không bệnh”

Accuracy = 95% nhưng mô hình vô dụng.

***

### 4.2 Sensitivity (Recall, True Positive Rate)

#### Định nghĩa

Khả năng phát hiện đúng các trường hợp dương.

Sensitivity=TPTP+FNSensitivity = \frac{TP}{TP + FN}Sensitivity=TP+FNTP​

#### Ý nghĩa

Trong y tế:

* Sensitivity cao → ít bỏ sót bệnh nhân

#### Ví dụ

TP = 80\
FN = 20

Sensitivity=80100=0.80Sensitivity = \frac{80}{100} = 0.80Sensitivity=10080​=0.80

→ Phát hiện được 80% ca bệnh.

***

### 4.3 Specificity (True Negative Rate)

#### Định nghĩa

Khả năng nhận diện đúng các trường hợp âm.

Specificity=TNTN+FPSpecificity = \frac{TN}{TN + FP}Specificity=TN+FPTN​

#### Ý nghĩa

Specificity cao → ít chẩn đoán nhầm người khỏe thành bệnh.

#### Ví dụ

TN = 90\
FP = 10

Specificity=90100=0.90Specificity = \frac{90}{100} = 0.90Specificity=10090​=0.90

***

## 5. So sánh Accuracy – Sensitivity – Specificity

| Metric      | Công thức     | Dùng khi nào?         | Điểm mạnh   | Điểm yếu               |
| ----------- | ------------- | --------------------- | ----------- | ---------------------- |
| Accuracy    | (TP+TN)/Total | Dữ liệu cân bằng      | Dễ hiểu     | Sai lệch khi imbalance |
| Sensitivity | TP/(TP+FN)    | Bệnh nguy hiểm        | Giảm bỏ sót | Có thể tăng FP         |
| Specificity | TN/(TN+FP)    | Cần giảm báo động giả | Giảm FP     | Có thể tăng FN         |

***

## 6. Khi nào dùng metric nào?

### Trường hợp 1: Chẩn đoán ung thư

Quan trọng nhất: **Sensitivity**

Vì bỏ sót bệnh nhân nguy hiểm hơn báo động nhầm.

***

### Trường hợp 2: Kiểm tra an ninh sân bay

Quan trọng: Sensitivity cao\
Nhưng Specificity cũng cần đủ tốt để tránh làm phiền quá nhiều người.

***

### Trường hợp 3: Dữ liệu cân bằng

Accuracy có thể dùng làm chỉ số tổng quát.

***

## 7. Các Evaluation khác trong Classification

Ngoài ba metric trên còn có:

* Precision
* F1-score
* ROC-AUC
* PR-AUC
* Matthews Correlation Coefficient (MCC)

Trong thực tế, không nên dùng chỉ một metric.

***

## 8. Tổng kết

Evaluation giúp:

* So sánh mô hình
* Phát hiện overfitting
* Chọn mô hình tốt nhất

Accuracy, Sensitivity và Specificity là ba metric cơ bản trong phân loại nhị phân, nhưng mỗi metric phản ánh một khía cạnh khác nhau của hiệu suất mô hình.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://deeplearningcoban.gitbook.io/deeplearningcoban.com/tham-khao/glossary/e/evaluation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
