Hướng dẫn how do you find the accuracy from confusion matrix in python code? - làm thế nào để bạn tìm thấy độ chính xác từ ma trận nhầm lẫn trong mã python?


Trên trang này, W3Schools.com hợp tác với Học viện Khoa học Dữ liệu NYC, để cung cấp nội dung đào tạo kỹ thuật số cho sinh viên của chúng tôi.


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

Đó là một bảng được sử dụng trong các vấn đề phân loại để đánh giá các lỗi trong mô hình được thực hiện.

Các hàng đại diện cho các lớp thực tế mà kết quả nên có. Trong khi các cột đại diện cho các dự đoán chúng tôi đã thực hiện. Sử dụng bảng này, thật dễ dàng để xem dự đoán nào là sai.

Tạo ma trận nhầm lẫn

Ma trận nhầm lẫn có thể được tạo ra bởi các dự đoán được thực hiện từ hồi quy logistic.

Bây giờ chúng tôi sẽ tạo ra các giá trị thực tế và dự đoán bằng cách sử dụng Numpy:

import numpy

Tiếp theo chúng ta sẽ cần tạo các số cho các giá trị "thực tế" và "dự đoán".

actual = numpy.random.binomial(1, 0.9, size = 1000)
predicted = numpy.random.binomial(1, 0.9, size = 1000)

Để tạo ma trận nhầm lẫn, chúng ta cần nhập các số liệu từ mô -đun Sklearn.

from sklearn import metrics

Khi các số liệu được nhập, chúng ta có thể sử dụng hàm ma trận nhầm lẫn trên các giá trị thực tế và dự đoán của chúng ta.

confusion_matrix = metrics.confusion_matrix(actual, predicted)

Để tạo một màn hình trực quan dễ hiểu hơn, chúng ta cần chuyển đổi bảng thành màn hình ma trận nhầm lẫn.

cm_display = metrics.ConfusionMatrixDisplay(confusion_matrix = confusion_matrix, display_labels = [False, True])

Vizualizing màn hình yêu cầu chúng tôi nhập pyplot từ matplotlib.

import matplotlib.pyplot as plt

Cuối cùng để hiển thị cốt truyện, chúng ta có thể sử dụng các hàm lô () và show () từ pyplot.

cm_display.plot()
plt.show()

Xem toàn bộ ví dụ trong hành động:

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số
import numpy
from sklearn import metrics

thực tế = numpy.random.binomial (1, .9, size = 1000) dự đoán = numpy.random.binomial (1, .9, size = 1000)
predicted = numpy.random.binomial(1,.9,size = 1000)

Infusion_Matrix = Metrics.Confusion_Matrix (thực tế, dự đoán)

cm_display = metrics.confusionmatrixdisplay (influsion_matrix = confusion_matrix, display_labels = [false, true])

cm_display.plot()plt.show()
plt.show()

Kết quả

Hướng dẫn how do you find the accuracy from confusion matrix in python code? - làm thế nào để bạn tìm thấy độ chính xác từ ma trận nhầm lẫn trong mã python?

Chạy ví dụ »

Kết quả giải thích

Ma trận nhầm lẫn được tạo ra có bốn góc phần tư khác nhau:

Đúng tiêu cực (góc phần tư trên bên trái) Sai dương (Quadrant đứng đầu bên phải) Sai âm (Quadrant dưới bên trái) Đúng (Quadrant dưới bên phải)
False Positive (Top-Right Quadrant)
False Negative (Bottom-Left Quadrant)
True Positive (Bottom-Right Quadrant)

Đúng có nghĩa là các giá trị đã được dự đoán chính xác, sai có nghĩa là có lỗi hoặc dự đoán sai.

Bây giờ chúng tôi đã tạo ra một ma trận nhầm lẫn, chúng tôi có thể tính toán các biện pháp khác nhau để định lượng chất lượng của mô hình. Đầu tiên, hãy nhìn vào độ chính xác.


QUẢNG CÁO


Tạo ra số liệu

Ma trận cung cấp cho chúng tôi nhiều số liệu hữu ích giúp chúng tôi đánh giá mô hình phân loại.

Các biện pháp khác nhau bao gồm: độ chính xác, độ chính xác, độ nhạy (thu hồi), độ đặc hiệu và điểm F, được giải thích dưới đây.


Sự chính xác

Các biện pháp chính xác tần suất mô hình là chính xác.

Làm thế nào để tính toán

(Đúng tích cực + Đúng tiêu cực) / Tổng dự đoán

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số

Chạy ví dụ »


Kết quả giải thích

Ma trận nhầm lẫn được tạo ra có bốn góc phần tư khác nhau:

Làm thế nào để tính toán

(Đúng tích cực + Đúng tiêu cực) / Tổng dự đoán

Độ chính xác = Metrics.Accuracy_Score (thực tế, dự đoán)

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số

Chạy ví dụ »


Kết quả giải thích

Ma trận nhầm lẫn được tạo ra có bốn góc phần tư khác nhau:

Đúng tiêu cực (góc phần tư trên bên trái) Sai dương (Quadrant đứng đầu bên phải) Sai âm (Quadrant dưới bên trái) Đúng (Quadrant dưới bên phải)

Đúng có nghĩa là các giá trị đã được dự đoán chính xác, sai có nghĩa là có lỗi hoặc dự đoán sai.

Làm thế nào để tính toán

(Đúng tích cực + Đúng tiêu cực) / Tổng dự đoán

Độ chính xác = Metrics.Accuracy_Score (thực tế, dự đoán)

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số

Chạy ví dụ »


Kết quả giải thích

Ma trận nhầm lẫn được tạo ra có bốn góc phần tư khác nhau:

Đúng tiêu cực (góc phần tư trên bên trái) Sai dương (Quadrant đứng đầu bên phải) Sai âm (Quadrant dưới bên trái) Đúng (Quadrant dưới bên phải)

Làm thế nào để tính toán

(Đúng tích cực + Đúng tiêu cực) / Tổng dự đoán

Độ chính xác = Metrics.Accuracy_Score (thực tế, dự đoán)

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số

Chạy ví dụ »


F-score

Kết quả giải thích

Ma trận nhầm lẫn được tạo ra có bốn góc phần tư khác nhau:

Làm thế nào để tính toán

(Đúng tích cực + Đúng tiêu cực) / Tổng dự đoán

Độ chính xác = Metrics.Accuracy_Score (thực tế, dự đoán)

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số

Chạy ví dụ »

Kết quả giải thích

Thí dụ

Nhập matplotlib.pyplot với tư cách là pltimport numpyfrom sklearn nhập số
print({"Accuracy":Accuracy,"Precision":Precision,"Sensitivity_recall":Sensitivity_recall,"Specificity":Specificity,"F1_score":F1_score})

Chạy ví dụ »



Làm thế nào để bạn tìm thấy độ chính xác của một ma trận nhầm lẫn trong Python?

Để tính độ chính xác, sử dụng công thức sau: (TP+TN)/(TP+TN+FP+FN). Tỷ lệ phân loại sai: Nó cho bạn biết một phần dự đoán là không chính xác. Nó còn được gọi là lỗi phân loại. Bạn có thể tính toán nó bằng cách sử dụng (fp+fn)/(tp+tn+fp+fn) hoặc (1-accuracy).(TP+TN)/(TP+TN+FP+FN). Misclassification Rate: It tells you what fraction of predictions were incorrect. It is also known as Classification Error. You can calculate it using (FP+FN)/(TP+TN+FP+FN) or (1-Accuracy).

Làm thế nào để bạn tìm thấy ma trận nhầm lẫn tỷ lệ chính xác?

Từ ma trận nhầm lẫn của chúng tôi, chúng tôi có thể tính toán năm số liệu khác nhau đo lường tính hợp lệ của mô hình của chúng tôi ...
Độ chính xác (tất cả chính xác / tất cả) = tp + tn / tp + tn + fp + fn ..
Phân loại sai (tất cả không chính xác / tất cả) = fp + fn / tp + tn + fp + fn ..
Độ chính xác (dương tính thực sự / dương tính dự đoán) = TP / TP + FP ..

Làm thế nào để python tính toán độ chính xác?

Cách tính độ chính xác cân bằng trong Python bằng Sklearn..
Độ chính xác cân bằng = (độ nhạy + độ đặc hiệu) / 2 ..
Độ chính xác cân bằng = (0,75 + 9868) / 2 ..
Độ chính xác cân bằng = 0,8684 ..

Làm thế nào để Python tính toán độ chính xác và độ chính xác?

# Độ chính xác: (TP + TN) / (P + N) Độ chính xác = chính xác_score (Testy, YHAT_Classes).
In ('Độ chính xác: % f' % chính xác) # Chính xác TP / (TP + FP).
độ chính xác = precision_score (Testy, yhat_classes) in ('độ chính xác: % f' % độ chính xác).
# Nhớ lại: TP / (TP + FN) ....
in ('Nhớ lại: % f' % thu hồi) ....
f1 = f1_score (Testy, yhat_classes).