Trong số tất cả các mẫu dương tính thực tế, bạn đã phát hiện được bao nhiêu mẫu? . Vì vậy, trong số tất cả các điểm tích cực thực tế [tp và fn], có bao nhiêu điểm được dự đoán là tích cực [tp]
Một cách phổ biến để đánh giá chất lượng của mô hình hồi quy logistic là tạo ma trận nhầm lẫn, là bảng 2x2 hiển thị các giá trị dự đoán từ mô hình so với. các giá trị thực tế từ tập dữ liệu thử nghiệmĐể tạo ma trận nhầm lẫn cho mô hình hồi quy logistic trong Python, chúng ta có thể sử dụng hàmconsistance_matrix[] từ gói sklearn
from sklearn import metrics metrics.confusion_matrix[y_actual, y_predicted]
Ví dụ sau đây cho thấy cách sử dụng hàm này để tạo ma trận nhầm lẫn cho mô hình hồi quy logistic trong Python
Thí dụ. Tạo ma trận nhầm lẫn trong Python
Giả sử chúng ta có hai mảng sau chứa các giá trị thực tế cho một biến phản hồi cùng với các giá trị dự đoán bằng mô hình hồi quy logistic
#define array of actual values y_actual = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] #define array of predicted values y_predicted = [0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]
Chúng ta có thể sử dụng hàm mess_matrix[] từ sklearn để tạo ma trận nhầm lẫn cho dữ liệu này
from sklearn import metrics #create confusion matrix c_matrix = metrics.confusion_matrix[y_actual, y_predicted] #print confusion matrix print[c_matrix] [[6 4] [2 8]]
Nếu muốn, chúng ta có thể sử dụng hàm crosstab[] từ gấu trúc để tạo ma trận nhầm lẫn trực quan hấp dẫn hơn
Trong khi sử dụng bài toán phân loại, chúng ta cần sử dụng các số liệu khác nhau như độ chính xác, khả năng thu hồi, điểm f1, hỗ trợ hoặc các số liệu khác để kiểm tra xem mô hình của chúng ta đang hoạt động hiệu quả như thế nào
Đối với điều này, chúng ta cần tính toán điểm số bằng báo cáo phân loại và ma trận nhầm lẫn. Vì vậy, trong công thức này, chúng ta sẽ tìm hiểu cách tạo báo cáo phân loại và ma trận nhầm lẫn trong Python
Mã nguồn python khoa học dữ liệu này thực hiện như sau.
1. Nhập các thư viện và tập dữ liệu cần thiết từ sklearn
2. thực hiện phân tách thử nghiệm đào tạo trên tập dữ liệu
3. Áp dụng mô hình DecisionTreeClassifier để dự đoán
4. Chuẩn bị báo cáo phân loại cho đầu ra
Bước 1 - Nhập thư viện
from sklearn import datasets from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report, confusion_matrix
Chúng tôi đã nhập các bộ dữ liệu để sử dụng khung dữ liệu sẵn có, DecisionTreeClassifier, train_test_split,classification_report vàconfused_matrix
Bước 2 - Thiết lập dữ liệu
Ở đây, chúng tôi đã sử dụng bộ dữ liệu để tải bộ dữ liệu wine sẵn có và chúng tôi đã tạo các đối tượng X và y để lưu trữ dữ liệu và giá trị đích tương ứng. wine = datasets.load_wine[] X = wine.data y = wine.target
Chúng tôi đang tạo một danh sách các tên mục tiêu và Chúng tôi đang sử dụng train_test_split được sử dụng để chia dữ liệu thành hai phần, một phần là đào tạo được sử dụng để đào tạo mô hình và phần còn lại là thử nghiệm được sử dụng để kiểm tra xem mô hình của chúng tôi đang hoạt động như thế nào . Ở đây chúng tôi đang vượt qua 0. 3 làm tham số trong train_test_split sẽ phân chia dữ liệu sao cho 30% dữ liệu sẽ ở phần thử nghiệm và 70% còn lại sẽ ở phần đào tạo
class_names = wine.target_names X_train, X_test, y_train, y_test = train_test_split[X, y, test_size=0.30]
Bước 3 - Huấn luyện người mẫu
Ở đây chúng tôi đang sử dụng DecisionTreeClassifier để dự đoán như một mô hình phân loại và đào tạo nó trên dữ liệu đào tạo. Sau đó, dự đoán đầu ra của dữ liệu thử nghiệm. classifier_tree = DecisionTreeClassifier[] y_predict = classifier_tree.fit[X_train, y_train].predict[X_test]
Khám phá các thư viện Python phải biết cho khoa học dữ liệu và máy học
Bước 5 - Tạo báo cáo phân loại và ma trận nhầm lẫn
Trước tiên chúng ta hãy xem các thông số của Báo cáo phân loại
- y_true. Trong tham số này, chúng ta phải chuyển các giá trị đích thực của dữ liệu
- y_pred. Tham số này chúng ta phải chuyển đầu ra dự đoán của mô hình
- target_names. Trong tham số này, chúng ta phải chuyển tên của mục tiêu
Đối với Ma trận nhầm lẫn, có hai tham số kiểm tra và giá trị dự đoán của dữ liệu. print[classification_report[y_test, y_predict, target_names=class_names]] print[confusion_matrix[y_test, y_predict]]
Vì vậy, đầu ra là