Làm thế nào để bạn vẽ một ma trận nhầm lẫn trong python bằng sklearn?

Trong bài đăng này, tôi sẽ trình bày cách vẽ Ma trận nhầm lẫn. Tôi sẽ sử dụng ma trận nhầm lẫn từ thư viện Scikit-Learn [

    >>> output
   show first 5 rows 
5] và Matplotlib để hiển thị kết quả ở định dạng trực quan hơn

Tài liệu về Ma trận nhầm lẫn khá tốt, nhưng tôi đã cố gắng tìm cách nhanh chóng để thêm nhãn và trực quan hóa đầu ra vào bảng 2x2

Để đọc giới thiệu tốt về ma trận nhầm lẫn, hãy xem bài đăng tuyệt vời này

http. //www. trường dữ liệu. io/simple-guide-to-confusion-matrix-terminology

Đây là một bản mô phỏng giao diện mà tôi đang cố gắng đạt được

  • TN = Đúng tiêu cực
  • FN = Phủ định sai
  • FP = Sai tích cực
  • TP = Đúng tích cực

Hãy xem qua một ví dụ về Hồi quy logistic nhanh bằng Scikit-Learn. Đối với dữ liệu, tôi sẽ sử dụng bộ dữ liệu Iris phổ biến [để đọc thêm về nó, hãy tham khảo https. // vi. wikipedia. org/wiki/Iris_flower_data_set]

Chúng tôi sẽ sử dụng ma trận nhầm lẫn để đánh giá độ chính xác của phân loại và vẽ đồ thị bằng matplotlib

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from sklearn import datasets
data = datasets.load_iris[]

df = pd.DataFrame[data.data, columns=data.feature_names]
df['Target'] = pd.DataFrame[data.target]
df.head[]
    >>> output
   show first 5 rows 
chiều dài lá đài [cm]chiều rộng lá đài [cm]chiều dài cánh hoa [cm]chiều rộng cánh hoa [cm]Mục tiêu 5. 13. 51. 40. 20 4. 93. 01. 40. 20 4. 73. 21. 30. 20 4. 63. 11. 50. 20 5. 03. 61. 40. 20

Chúng tôi có thể kiểm tra dữ liệu của mình một cách nhanh chóng bằng cách sử dụng chức năng tương quan Pandas để chọn một tính năng phù hợp cho hồi quy logistic của chúng tôi. Chúng tôi sẽ sử dụng phương pháp lê mặc định

corr = df.corr[]
print[corr.Target]
    >>> output
    sepal length [cm]    0.782561
    sepal width [cm]    -0.419446
    petal length [cm]    0.949043
    petal width [cm]     0.956464
    Target               1.000000
    Name: Target, dtype: float64

Vì vậy, hãy chọn hai cái có tiềm năng cao nhất. Chiều rộng cánh hoa [cm] và Chiều dài cánh hoa [cm] là các biến độc lập [X] của chúng tôi. Đối với biến Mục tiêu/phụ thuộc [Y], chúng ta có thể chọn lớp Versicolor. Lớp Target thực sự có ba lựa chọn, để đơn giản hóa nhiệm vụ của chúng ta và thu hẹp nó thành một bộ phân loại nhị phân, tôi sẽ chọn Versicolor để thu hẹp các lớp phân loại của chúng ta thành [0 hoặc 1]. nó có nhiều màu [1] hoặc không có nhiều màu [0]

print[data.target_names]
    >>> output
    array[['setosa', 'versicolor', 'virginica'],
      dtype='

Chủ Đề