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ả
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ụ »