Hướng dẫn confusion matrix python pandas - gấu trúc trăn ma trận nhầm lẫn
Trong hướng dẫn ngắn này, bạn sẽ thấy một ví dụ đầy đủ về một ma trận nhầm lẫn trong Python. Show Các chủ đề cần được xem xét:
Tạo ma trận nhầm lẫn trong Python bằng cách sử dụng gấu trúcĐể bắt đầu, đây là bộ dữ liệu được sử dụng cho ma trận nhầm lẫn trong Python:
Sau đó, bạn có thể ghi dữ liệu này bằng Python bằng cách tạo gấu trúc DataFrame bằng mã này: import pandas as pd data = {'y_actual': [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0], 'y_predicted': [1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0] } df = pd.DataFrame(data) print(df) Đây là cách dữ liệu sẽ trông như thế nào khi bạn chạy mã:
Để tạo ma trận nhầm lẫn bằng gấu trúc, bạn sẽ cần phải áp dụng & nbsp; pd.crosstab như sau: confusion_matrix = pd.crosstab(df['y_actual'], df['y_predicted'], rownames=['Actual'], colnames=['Predicted']) print (confusion_matrix) Và đây là mã Python đầy đủ để tạo ma trận nhầm lẫn: import pandas as pd data = {'y_actual': [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0], 'y_predicted': [1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0] } df = pd.DataFrame(data) confusion_matrix = pd.crosstab(df['y_actual'], df['y_predicted'], rownames=['Actual'], colnames=['Predicted']) print(confusion_matrix) Chạy mã và bạn sẽ nhận được ma trận sau:
Hiển thị ma trận nhầm lẫn bằng cách sử dụng & nbsp; Seaborn seabornMa trận bạn vừa tạo trong phần trước là khá cơ bản. Bạn có thể sử dụng gói Seaborn trong Python để có một màn hình hiển thị sống động hơn của ma trận. Để thực hiện nhiệm vụ này, bạn sẽ cần thêm hai thành phần sau vào mã:
Bạn cũng cần sử dụng gói matplotlib để vẽ kết quả bằng cách thêm:
Đặt mọi thứ lại với nhau: import pandas as pd import seaborn as sn import matplotlib.pyplot as plt data = {'y_actual': [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0], 'y_predicted': [1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0] } df = pd.DataFrame(data) confusion_matrix = pd.crosstab(df['y_actual'], df['y_predicted'], rownames=['Actual'], colnames=['Predicted']) sn.heatmap(confusion_matrix, annot=True) plt.show() Tùy chọn, & nbsp; bạn cũng có thể thêm tổng số ở lề của ma trận nhầm lẫn bằng cách đặt lề = true. Vì vậy, mã Python của bạn sẽ trông như thế này: import pandas as pd import seaborn as sn import matplotlib.pyplot as plt data = {'y_actual': [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0], 'y_predicted': [1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0] } df = pd.DataFrame(data) confusion_matrix = pd.crosstab(df['y_actual'], df['y_predicted'], rownames=['Actual'], colnames=['Predicted'], margins=True) sn.heatmap(confusion_matrix, annot=True) plt.show() Nhận chỉ số bổ sung bằng cách sử dụng & nbsp; pandas_mlBạn có thể in các số liệu thống kê bổ sung (chẳng hạn như & nbsp; độ chính xác) bằng cách sử dụng gói pandas_ml trong Python. Bạn có thể cài đặt gói Pandas_ML bằng PIP: pip install pandas_ml Sau đó, bạn cần thêm cú pháp sau vào mã: confusion_matrix = ConfusionMatrix(df['y_actual'], df['y_predicted']) confusion_matrix.print_stats() Dưới đây là mã hoàn chỉnh mà bạn có thể sử dụng để có được các số liệu thống kê bổ sung: import pandas as pd from pandas_ml import ConfusionMatrix data = {'y_actual': [1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0], 'y_predicted': [1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0] } df = pd.DataFrame(data) confusion_matrix = ConfusionMatrix(df['y_actual'], df['y_predicted']) confusion_matrix.print_stats() Chạy mã và bạn sẽ thấy các phép đo bên dưới (lưu ý rằng nếu bạn đang gặp lỗi khi chạy mã, bạn có thể xem xét thay đổi phiên bản của gấu trúc. Ví dụ: bạn có thể thay đổi phiên bản của gấu trúc thành 0,23.4 Sử dụng lệnh này: PIP Cài đặt pandas == 0,23,4):note that if you’re getting an error when running the code, you may consider changing the version of pandas. For example, you may change the version of pandas to 0.23.4 using this command: pip install pandas==0.23.4): 0Ví dụ của chúng tôi:
Bạn cũng có thể quan sát TP, TN, FP và FN trực tiếp từ ma trận nhầm lẫn: Đối với dân số 12 người, độ chính xác là: Độ chính xác = (TP+TN)/dân số = (4+5)/12 = 0,75 = (4+5)/12 = 0.75 Làm việc với dữ liệu không phải là sốTạo ma trận nhầm lẫn trong Python bằng cách sử dụng gấu trúc Để bắt đầu, đây là bộ dữ liệu được sử dụng cho ma trận nhầm lẫn trong Python: Sau đó, bạn có thể ghi dữ liệu này bằng Python bằng cách tạo gấu trúc DataFrame bằng mã này:
Và đây là mã Python đầy đủ để tạo ma trận nhầm lẫn:
Ma trận bạn vừa tạo trong phần trước là khá cơ bản. Bạn có thể sử dụng gói Seaborn trong Python để có một màn hình hiển thị sống động hơn của ma trận. Để thực hiện nhiệm vụ này, bạn sẽ cần thêm hai thành phần sau vào mã: 1nhập seeborn dưới dạng sn 2Sn.HeatMap (Confusion_Matrix, Annot = true) 0 |