Ma trận nhầm lẫn trong học máy: Giải pháp một cửa của bạn



Bài viết này tập trung vào Ma trận nhầm lẫn, là một trong những khía cạnh quan trọng nhất của bất kỳ Thuật toán học máy nào được sử dụng để đánh giá độ chính xác của nó.

Trong , chúng tôi thường có 2 loại trường hợp sử dụng khác nhau, và vấn đề. Ma trận nhầm lẫn giúp tính toán độ chính xác của mô hình phân loại, điều này gián tiếp giúp chúng ta mô tả hiệu suất của mô hình phân loại. Đây là bước quan trọng nhất khi đánh giá một mô hình. Tôi sẽ đề cập đến các chủ đề sau trong bài viết này:

1. Ma trận nhầm lẫn là gì?





2. Độ chính xác và các thành phần của Ma trận nhầm lẫn

3. Độ chính xác, Nhớ lại và F-Measure



phương thức system.exit sẽ kết thúc ứng dụng.

4. Tạo ma trận nhầm lẫn bằng cách sử dụng Python và Sklearn

Ma trận nhầm lẫn là gì?

Ma trận nhầm lẫn là bản tóm tắt so sánh giữa kết quả dự đoán và kết quả thực tế trong bất kỳ trường hợp sử dụng bài toán phân loại nào. Tóm tắt so sánh là cực kỳ cần thiết để xác định hiệu suất của mô hình sau khi nó được đào tạo với một số dữ liệu đào tạo. Accuracy-Confusion-MatrixĐối với trường hợp sử dụng phân loại nhị phân, Ma trận nhầm lẫn là ma trận 2 × 2 như hình dưới đây
Giá trị loại 1 được dự đoán EG: 1 Giá trị loại 2 được dự đoán EG: 0
Giá trị thực tế loại 1

EG: 1

TP (Đúng tích cực) FN (Phủ định Sai)
Giá trị thực tế loại 2



EG: 0

FP (Dương tính giả) TN (Âm tính thực)

Từ hình trên:
Chúng ta có,

  • Giá trị Lớp 1 thực tế = 1 tương tự với giá trị Dương trong kết quả nhị phân.
  • Giá trị Lớp 2 thực tế = 0 tương tự như giá trị âm trong kết quả nhị phân.

Chỉ mục bên trái của ma trận nhầm lẫn về cơ bản chỉ ra Giá trị thực và cột trên cùng cho biết Giá trị được dự đoán.

Có nhiều thành phần khác nhau tồn tại khi chúng ta tạo ra một ma trận nhầm lẫn. Các thành phần được đề cập bên dưới

Tích cực (P): Kết quả dự đoán là Dương tính (Ví dụ: Hình ảnh là một con mèo)

Phủ định (N): kết quả dự đoán là Âm tính (Ví dụ: Hình ảnh không phải là mèo)

Tích cực thực sự (TP): Ở đây TP về cơ bản chỉ ra giá trị dự đoán và giá trị thực tế là 1 (Đúng)

Âm tính thực sự (TN): Ở đây TN cho biết giá trị dự đoán và giá trị thực là 0 (Sai)

Phủ định Sai (FN): Ở đây FN cho biết giá trị dự đoán là 0 (Âm) và Giá trị thực tế là 1. Ở đây cả hai giá trị không khớp nhau. Do đó nó là Âm tính giả.

Dương tính giả (FP): Ở đây FP cho biết giá trị dự đoán là 1 (Tích cực) và giá trị thực tế là 0. Ở đây một lần nữa cả hai giá trị không khớp. Do đó nó là dương tính giả.

Độ chính xác và các thành phần của Ma trận nhầm lẫn

Sau khi tạo ma trận nhầm lẫn và chúng tôi xác định được tất cả các giá trị thành phần, việc tính độ chính xác trở nên khá dễ dàng. Vì vậy, chúng ta hãy xem xét các thành phần để hiểu rõ hơn về điều này.
  • Độ chính xác của phân loại

Từ công thức trên, tổng của TP (Đúng Dương tính) và TN (Đúng Âm tính) là kết quả dự đoán chính xác. Do đó, để tính độ chính xác theo phần trăm, chúng tôi chia với tất cả các thành phần khác. Tuy nhiên, có một số vấn đề về độ chính xác và chúng ta không thể hoàn toàn phụ thuộc vào nó.

Chúng ta hãy xem xét rằng tập dữ liệu của chúng ta hoàn toàn không cân bằng. Trong Kịch bản này, độ chính xác 98% có thể tốt hoặc xấu dựa trên báo cáo vấn đề. Do đó, chúng tôi có một số thuật ngữ chính khác sẽ giúp chúng tôi chắc chắn về độ chính xác mà chúng tôi tính toán. Các điều khoản như sau:

  • TPR (Tỷ lệ dương tính thực) hoặc Độ nhạy:

Tỷ lệ Tích cực Thực sự, còn được gọi là Độ nhạy đo lường phần trăm của Tích cực Thực sự so với Tổng số Tích cực Thực tế được biểu thị bằng (TP + FN)

Giá trị loại 1 được dự đoán EG: 1 Giá trị loại 2 được dự đoán EG: 0 Toàn bộ
Giá trị thực tế loại 1

EG: 1

TP (Đúng tích cực) FN (Phủ định Sai) Tổng số khẳng định thực tế
Giá trị thực tế loại 2

EG: 0

FP (Dương tính giả)TN (Âm tính thực)Tổng số phủ định thực tế
TPR = True Positive / (True Positive + False negative
  • TNR (Tỷ lệ âm tính thực) hoặc Độ đặc hiệu:

Tỷ lệ phủ định thực hoặc Độ cụ thể đo lường tỷ lệ phủ định thực tế so với Tổng số phủ định

Giá trị loại 1 được dự đoán EG: 1 Giá trị loại 2 được dự đoán EG: 0 Toàn bộ
Giá trị thực tế loại 1

EG: 1

TP (Đúng tích cực)FN (Phủ định Sai)Tổng số khẳng định thực tế
Giá trị thực tế loại 2

EG: 0

FP (Dương tính giả) TN (Âm tính thực) Tổng số phủ định thực tế

TNR = True negative / (True negative + False Positive)

  • Tỷ lệ dương tính giả (FPR):

Tỷ lệ dương tính giả là phần trăm của Dự đoán dương tính giả (FP) trên Tổng số không có kết quả dương tính được dự đoán (TP + FP).

Giá trị loại 1 được dự đoán EG: 1 Giá trị loại 2 được dự đoán EG: 0
Giá trị thực tế loại 1 EG: 1 TP (Đúng tích cực) FN (Phủ định Sai)
Giá trị thực tế loại 2 EG: 0 FP (Dương tính giả) TN (Âm tính thực)
Tổng của Tổng số Dự đoán Dương tính Tổng của Tổng dự đoán Phủ định
FPR = Dương tính giả / (Dương tính thật + Dương tính giả)
  • Tỷ lệ phủ định sai (FNR):

Tỷ lệ phủ định giả là tỷ lệ phần trăm của Dự đoán âm tính giả (FP) trên Tổng số kết quả phủ định được dự đoán (TN + FN).

Giá trị loại 1 được dự đoán EG: 1 Giá trị loại 2 được dự đoán EG: 0
Giá trị thực tế loại 1 EG: 1TP (Đúng tích cực) FN (Phủ định Sai)
Giá trị thực tế loại 2 EG: 0FP (Dương tính giả) TN (Âm tính thực)
Tổng của Tổng số Dự đoán Dương tính Tổng của Tổng dự đoán Phủ định
FNR = Sai Phủ định / (Phủ định Sai + Phủ định Đúng)

Độ chính xác, thu hồi và đo F

  • Gợi lại:

Một lần thu hồi tương tự như Tỷ lệ Tích cực Thực và nó là tỷ lệ của Tổng số các giá trị dương được dự đoán chính xác (TP) với tất cả các Giá trị Tích cực.

  • Độ chính xác:

Về cơ bản, độ chính xác chỉ ra tất cả các điểm mà mô hình dự đoán là tích cực và bao nhiêu phần trăm trong số đó thực sự là Tích cực.

Độ chính xác và Số lần thu hồi là các kết quả đo lường tập trung vào lớp tích cực như được hiển thị từ các công thức trên.

  • F-Measure

Vì vậy, F-Measure là một kỹ thuật kết hợp cả kỹ thuật Chính xác và Nhớ lại và nó sử dụng Trung bình hài hòa thay cho Trung bình số học thông thường, do đó các giá trị cực trị bị trừng phạt. Số đo F còn được gọi là điểm F1- và được đưa ra theo công thức dưới đây.

Chúng ta hãy xem xét một ví dụ và xem cách chúng ta có thể tính toán Độ chính xác, Độ chính xác, Nhớ lại và điểm số F1.

N = 165 Dự đoán CÓ Dự đoán KHÔNG
Thực tế CÓ TP = 150 FN = 10
Hiện tại KHÔNG FP = 20 TN = 100
    • Độ chính xác = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Nhớ lại = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Độ chính xác: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-Measure = (2 * Nhớ lại * Độ chính xác) / (Nhớ lại + Đo trước) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Tạo ma trận nhầm lẫn bằng cách sử dụng Python và Sklearn

Bây giờ chúng ta sẽ xem một ví dụ về cách chúng ta có thể tạo một ma trận nhầm lẫn bằng cách sử dụng python cùng với thư viện sklearn.

một. Ban đầu, chúng tôi sẽ tạo một số danh sách dữ liệu thực tế và dự đoán để kiểm tra độ chính xác như hình dưới đây

# Tập lệnh Python để tạo ma trận nhầm lẫn. real_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] dự đoán_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Chúng ta cần nhập ma trận nhầm lẫn từ thư viện sklearn như hình dưới đây:

từ sklearn.metrics nhập nhầm lẫn_matrix

3. Tiếp theo, chúng ta sẽ tạo ma trận nhầm lẫn như hình dưới đây:

final_results = nhầm lẫn_matrix (dữ liệu thực tế, dữ liệu dự đoán)

Bốn. Bây giờ chúng ta có thể tiếp tục và tính toán độ chính xác bằng cách nhập thư viện như hình dưới đây:

từ sklearn.metrics nhập precision_score precision = precision_score (dữ liệu thực tế, dữ liệu dự đoán)

5. Cuối cùng, chúng tôi tính điểm F1 hoặc F- Measure như hình dưới đây:

từ sklearn.metrics nhập báo cáo phân loại_report = phân loại_report (dữ liệu thực tế, dữ liệu dự đoán)

Dưới đây là Mã hoàn chỉnh:

real_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] dự đoán_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] từ sklearn.metrics nhập nhầm lẫn_matrix final_results = nhầm lẫn_matrix (dữ liệu thực tế, dữ liệu dự đoán) in (dữ liệu cuối cùng) từ sklearn.metrics nhập độ chính xác_score = độ chính xác_score (dữ liệu thực tế, dữ liệu dự đoán) từ sklearn.metrics nhập khẩu phân loại_ báo cáo báo cáo = phân loại_report ( dữ liệu_thực tế, dữ liệu_dự đoán) in (độ chính xác) in (báo cáo)

matrix

Vì vậy, với điều này, chúng ta đi đến kết thúc của bài viết này. Tôi hy vọng mọi sự nhầm lẫn của bạn về Ma trận nhầm lẫn giờ đã được giải quyết.

Edureka's giúp bạn có kiến ​​thức chuyên môn về các thuật toán học máy khác nhau như hồi quy, phân cụm, cây quyết định, rừng ngẫu nhiên, Naïve Bayes và Q-Learning. Học máy sử dụng Đào tạo Python này cho bạn thấy các khái niệm về Thống kê, Chuỗi thời gian và các lớp thuật toán học máy khác nhau như thuật toán có giám sát, không giám sát và thuật toán củng cố. Trong suốt Khóa học cấp chứng chỉ về khoa học dữ liệu, bạn sẽ giải quyết các nghiên cứu điển hình thực tế về Truyền thông, Chăm sóc sức khỏe, Truyền thông xã hội, Hàng không, Nhân sự.