Hướng dẫn how does python calculate accuracy of models? - python tính toán độ chính xác của các mô hình như thế nào?

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:

Hướng dẫn how does python calculate accuracy of models? - python tính toán độ chính xác của các mô hình như thế nào?

Để 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

Độ chính xác của mô hình được tính toán như thế nào?

Độ chính xác là một số liệu được sử dụng trong các vấn đề phân loại được sử dụng để cho biết tỷ lệ phần trăm dự đoán chính xác.Chúng tôi tính toán nó bằng cách chia số lượng dự đoán chính xác cho tổng số dự đoán.dividing the number of correct predictions by the total number of predictions.

Làm thế nào để Python tính toán độ chính xác và độ chính xác?

# Độ chính xác: (TP + TN) / (P + N) Độ chính xác = chính xác_score (Testy, YHAT_Classes).
In ('Độ chính xác: % f' % chính xác) # Chính xác TP / (TP + FP).
độ chính xác = precision_score (Testy, yhat_classes) in ('độ chính xác: % f' % độ chính xác).
# Nhớ lại: TP / (TP + FN) ....
in ('Nhớ lại: % f' % thu hồi) ....
f1 = f1_score (Testy, yhat_classes).

Làm thế nào để bạn biết nếu một mô hình hồi quy Python là chính xác?

Một bộ hồi quy có thể được đánh giá bằng nhiều số liệu khác nhau, chẳng hạn như sau: Lỗi trung bình tuyệt đối: Đây là mức trung bình của các lỗi tuyệt đối của tất cả các điểm dữ liệu trong bộ dữ liệu đã cho.Lỗi bình phương trung bình: Đây là mức trung bình của bình phương của các lỗi của tất cả các điểm dữ liệu trong bộ dữ liệu đã cho.