Mục tiêu công thức
Sau khi đào tạo một mô hình, chúng tôi cần một biện pháp để kiểm tra hiệu suất của nó, chúng là nhiều số liệu ghi điểm mà chúng tôi có thể ghi điểm hiệu suất của mô hình. Trong nhiều số liệu, chúng tôi sẽ sử dụng độ chính xác để đo lường hiệu suất của mô hình. Chúng tôi cũng sẽ sử dụng Cross Xác nhận để kiểm tra mô hình trên nhiều bộ dữ liệu.
Vì vậy, đây là công thức về cách chúng ta có thể kiểm tra độ chính xác của mô hình bằng cách sử dụng xác thực chéo trong Python
Hãy đến gần hơn với giấc mơ trở thành một nhà khoa học dữ liệu với hơn 70 dự án ML từ đầu đến cuối đã được giải quyếtEnd-to-End ML Projects
Mục lục
- Mục tiêu công thức
- Bước 1 - Nhập thư viện
- Bước 2 - Thiết lập dữ liệu
- Bước 3 - Mô hình và độ chính xác của nó
Bước 1 - Nhập thư viện
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier
from sklearn import datasets
Bước 2 - Thiết lập dữ liệu
Bước 2 - Thiết lập dữ liệu
Bước 3 - Mô hình và độ chính xác của nó
Bước 3 - Mô hình và độ chính xác của nó
Chúng tôi đã nhập các mô -đun khác nhau từ các thư viện khác nhau như Cross_val_score, Ra quyết định và bộ dữ liệu.
[0.92592593 0.84615385 0.80769231 0.88 0.88 0.88
0.79166667]
0.8647110297110298
0.05775178587574378
Độ chính xác cân bằng là một số liệu chúng ta có thể sử dụng để đánh giá hiệu suất của mô hình phân loại. is a metric we can use to assess the performance of a classification model.
Nó được tính là:
Độ chính xác cân bằng = [độ nhạy + độ đặc hiệu] / 2 = [Sensitivity + Specificity] / 2
where:
- Độ nhạy: Tỷ lệ tích cực thực sự của người Viking - tỷ lệ phần trăm của các trường hợp tích cực mà mô hình có thể phát hiện.: The “true positive rate” – the percentage of positive cases the model is able to detect.
- Tính đặc hiệu: Tỷ lệ âm tính thực sự của người Viking - tỷ lệ phần trăm của các trường hợp tiêu cực mà mô hình có thể phát hiện.: The “true negative rate” – the percentage of negative cases the model is able to detect.
Số liệu này đặc biệt hữu ích khi hai lớp bị mất cân bằng - nghĩa là, một lớp xuất hiện nhiều hơn các lớp khác.
Ví dụ, giả sử một nhà phân tích thể thao sử dụng mô hình hồi quy logistic để dự đoán 400 cầu thủ bóng rổ đại học khác nhau có được soạn thảo vào NBA hay không.
Ma trận nhầm lẫn sau đây tóm tắt các dự đoán được thực hiện bởi mô hình:
Để tính toán độ chính xác cân bằng của mô hình, trước tiên chúng tôi sẽ tính toán độ nhạy và độ đặc hiệu:
- Độ nhạy: Tỷ lệ tích cực thực sự của người Viking = 15 / [15 + 5] = 0,75: The “true positive rate” = 15 / [15 + 5] = 0.75
- Tính đặc hiệu: Tỷ lệ âm tính thật của người Viking = 375 / [375 + 5] = 0,9868: The “true negative rate” = 375 / [375 + 5] = 0.9868
Sau đó chúng ta có thể tính độ chính xác cân bằng như:
- Độ chính xác cân bằng = [độ nhạy + độ đặc hiệu] / 2
- Độ nhạy: Tỷ lệ tích cực thực sự của người Viking - tỷ lệ phần trăm của các trường hợp tích cực mà mô hình có thể phát hiện.
- Tính đặc hiệu: Tỷ lệ âm tính thực sự của người Viking - tỷ lệ phần trăm của các trường hợp tiêu cực mà mô hình có thể phát hiện.
Số liệu này đặc biệt hữu ích khi hai lớp bị mất cân bằng - nghĩa là, một lớp xuất hiện nhiều hơn các lớp khác.0.8684.
Ví dụ, giả sử một nhà phân tích thể thao sử dụng mô hình hồi quy logistic để dự đoán 400 cầu thủ bóng rổ đại học khác nhau có được soạn thảo vào NBA hay không.balanced_accuracy_score[] function from the sklearn library in Python.
Ma trận nhầm lẫn sau đây tóm tắt các dự đoán được thực hiện bởi mô hình:
Để tính toán độ chính xác cân bằng của mô hình, trước tiên chúng tôi sẽ tính toán độ nhạy và độ đặc hiệu:
import numpy as np from sklearn.metrics import balanced_accuracy_score #define array of actual classes actual = np.repeat[[1, 0], repeats=[20, 380]] #define array of predicted classes pred = np.repeat[[1, 0, 1, 0], repeats=[15, 5, 5, 375]] #calculate balanced accuracy score balanced_accuracy_score[actual, pred] 0.868421052631579
Độ nhạy: Tỷ lệ tích cực thực sự của người Viking = 15 / [15 + 5] = 0,750.8684. This matches the value that we calculated earlier by hand.
Tính đặc hiệu: Tỷ lệ âm tính thật của người Viking = 375 / [375 + 5] = 0,9868: You can find the complete documentation for the balanced_accuracy_score[] function here.
Sau đó chúng ta có thể tính độ chính xác cân bằng như:
Độ chính xác cân bằng = [0,75 + 9868] / 2
How to Perform Logistic Regression in Python
How to Calculate F1 Score in Python