Hướng dẫn what is accuracy and precision in python? - độ chính xác và độ chính xác trong python là gì?

Classification models are used in classification problems to predict the target class of the data sample. The classification model predicts the probability that each instance belongs to one class or another. It is important to evaluate the performance of the classifications model in order to reliably use these models in production for solving real-world problems. Performance measures in machine learning classification models are used to assess how well machine learning classification models perform in a given context. These performance metrics include accuracy, precision, recall, and F1-score. Because it helps us understand the strengths and limitations of these models when making predictions in new situations, model performance is essential for machine learning. In this blog post, we will explore these four machine learning classification model performance metrics through Python Sklearn example.

  • Accuracy score
  • Precision score
  • Recall score
  • F1-Score

As a data scientist, you must get a good understanding of concepts related to the above in relation to measuring classification models’ performance. Before we get into the details of the performance metrics as listed above, lets understand key terminologies such as true positive, false positive, true negative and false negative with the help of confusion matrix. These terminologies will be used across different performance metrics.

  • Terminologies – True Positive, False Positive, True Negative, False Negative
  • What is Precision Score?
    • Different real-world scenarios when precision scores can be used as evaluation metrics
  • What is Recall Score?
    • Different real-world scenarios when recall scores can be used as evaluation metrics
  • What is Accuracy Score?
      • Caution with Accuracy Metrics / Score
  • What is F1-Score?
  • Conclusions

Terminologies – True Positive, False Positive, True Negative, False Negative

Before we get into the definitions, lets work with Sklearn breast cancer datasets for classifying whether a particular instance of data belongs to benign or malignant breast cancer class. You can load the dataset using the following code:

import pandas as pd
import numpy as np
from sklearn import datasets
#
# Load the breast cancer data set
#
bc = datasets.load_breast_cancer[]
X = bc.data
y = bc.target

The target labels in the breast cancer dataset are Benign [1] and Malignant [0]. There are 212 records with labels as malignant and 357 records with labels as benign. Let’s create a training and test split where 30% of the dataset is set aside for testing purposes.

from sklearn.model_selection import train_test_split
#
# Create training and test split
#
X_train, X_test, y_train, y_test = train_test_split[X, y, test_size=0.30, random_state=1, stratify=y]

Splitting the breast cancer dataset into training and test set results in the test set consisting of 64 records’ labels as benign and 107 records’ labels as malignant. Thus, the actual positive is 107 records and the actual negative is 64 records. Let’s train the model and get the confusion matrix. Here is the code for training the model and printing the confusion matrix.

from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
from sklearn.metrics import confusion_matrix
from sklearn.metrics import precision_score, recall_score, f1_score, accuracy_score
import matplotlib.pyplot as plt
#
# Standardize the data set
#
sc = StandardScaler[]
sc.fit[X_train]
X_train_std = sc.transform[X_train]
X_test_std = sc.transform[X_test]
#
# Fit the SVC model
#
svc = SVC[kernel='linear', C=10.0, random_state=1]
svc.fit[X_train, y_train]
#
# Get the predictions
#
y_pred = svc.predict[X_test]
#
# Calculate the confusion matrix
#
conf_matrix = confusion_matrix[y_true=y_test, y_pred=y_pred]
#
# Print the confusion matrix using Matplotlib
#
fig, ax = plt.subplots[figsize=[5, 5]]
ax.matshow[conf_matrix, cmap=plt.cm.Oranges, alpha=0.3]
for i in range[conf_matrix.shape[0]]:
    for j in range[conf_matrix.shape[1]]:
        ax.text[x=j, y=i,s=conf_matrix[i, j], va='center', ha='center', size='xx-large']

plt.xlabel['Predictions', fontsize=18]
plt.ylabel['Actuals', fontsize=18]
plt.title['Confusion Matrix', fontsize=18]
plt.show[]

The following confusion matrix is printed:

Fig 1. Confusion Matrix representing predictions vs Actuals on Test Data

The predicted data results in the above diagram could be read in the following manner given 1 represents malignant cancer [positive].

  • True Positive [TP]: True positive measures the extent to which the model correctly predicts the positive class. That is, the model predicts that the instance is positive, and the instance is actually positive. True positives are relevant when we want to know how many positives our model correctly predicts. For example, in a binary classification problem with classes “A” and “B”, if our goal is to predict class “A” correctly, then a true positive would be the number of instances of class “A” that our model correctly predicted as class “A”. Taking a real-world example, if the model is designed to predict whether an email is spam or not, a true positive would occur when the model correctly predicts that an email is a spam. The true positive rate is the percentage of all instances that are correctly classified as belonging to a certain class. True positives are important because they indicate how well our model performs on positive instances. In the above confusion matrix, out of 107 actual positives, 104 are correctly predicted positives. Thus, the value of True Positive is 104.
  • False Positive [FP]: False positives occur when the model predicts that an instance belongs to a class that it actually does not. False positives can be problematic because they can lead to incorrect decision-making. For example, if a medical diagnosis model has a high false positive rate, it may result in patients undergoing unnecessary treatment. False positives can be detrimental to classification models because they lower the overall accuracy of the model. There are a few ways to measure false positives, including false positive rates. The false positive rate is the proportion of all negative examples that are predicted as positive. While false positives may seem like they would be bad for the model, in some cases they can be desirable. For example, in medical applications, it is often better to err on the side of caution and have a few false positives than to miss a diagnosis entirely. However, in other applications, such as spam filtering, false positives can be very costly. Therefore, it is important to carefully consider the trade-offs involved when choosing between different classification models. In the above example, the false positive represents the number of negatives [out of 64] that get falsely predicted as positive. Out of 64 actual negatives, 3 is falsely predicted as positive. Thus, the value of False Positive is 3.
  • Đúng là tiêu cực [TN]: Các tiêu cực thực sự là kết quả mà mô hình dự đoán chính xác là tiêu cực. Ví dụ, nếu mô hình dự đoán liệu một người có bệnh hay không, một tiêu cực thực sự sẽ là khi mô hình dự đoán rằng người đó không mắc bệnh và họ thực sự không mắc bệnh. Tiêu cực thực sự là một trong những biện pháp được sử dụng để đánh giá mức độ thực hiện của một mô hình phân loại. Nói chung, một số lượng lớn các tiêu cực thực sự chỉ ra rằng mô hình đang hoạt động tốt. Đúng là âm được sử dụng cùng với âm âm giả, dương tính thực và dương tính giả để tính toán nhiều số liệu hiệu suất như độ chính xác, độ chính xác, thu hồi và điểm F1. Mặc dù True Negative cung cấp cái nhìn sâu sắc có giá trị về hiệu suất của mô hình phân loại, nhưng nó cần được giải thích trong bối cảnh của các số liệu khác để có được một bức tranh hoàn chỉnh về độ chính xác của mô hình. Trong số 64 tiêu cực thực tế, 61 được dự đoán chính xác tiêu cực. Do đó, giá trị của tiêu cực thực là 61. [TN]: True negatives are the outcomes that the model correctly predicts as negative. For example, if the model is predicting whether or not a person has a disease, a true negative would be when the model predicts that the person does not have the disease and they actually don’t have the disease. True negatives are one of the measures used to assess how well a classification model is performing. In general, a high number of true negatives indicates that the model is performing well. True negative is used in conjunction with false negative, true positive, and false positive to compute a variety of performance metrics such as accuracy, precision, recall, and F1 score. While true negative provides valuable insight into the classification model’s performance, it should be interpreted in the context of other metrics to get a complete picture of the model’s accuracy. Out of 64 actual negatives, 61 is correctly predicted negative. Thus, the value of True Negative is 61.
  • Sai âm [FN]: Một âm tính giả xảy ra khi một mô hình dự đoán một thể hiện là âm khi nó thực sự dương. Tiêu cực sai có thể rất tốn kém, đặc biệt là trong lĩnh vực y học. Ví dụ, nếu xét nghiệm sàng lọc ung thư dự đoán rằng bệnh nhân không bị ung thư khi họ thực sự làm, điều này có thể dẫn đến bệnh tiến triển mà không cần điều trị. Các tiêu cực sai cũng có thể xảy ra trong các lĩnh vực khác, chẳng hạn như phát hiện bảo mật hoặc gian lận. Trong những trường hợp này, một âm tính giả có thể dẫn đến việc ai đó được cấp quyền truy cập hoặc phê duyệt một giao dịch không nên được phép. Các tiêu cực sai thường nghiêm trọng hơn so với dương tính giả, và do đó, điều quan trọng là phải tính đến chúng khi đánh giá hiệu suất của mô hình phân loại. Giá trị này đại diện cho số lượng tích cực [trong số 107] được dự đoán sai là âm. Trong số 107 mặt tích cực thực tế, 3 được dự đoán sai là âm. Do đó, giá trị của âm giả là 3. [FN]: A false negative occurs when a model predicts an instance as negative when it is actually positive. False negatives can be very costly, especially in the field of medicine. For example, if a cancer screening test predicts that a patient does not have cancer when they actually do, this could lead to the disease progressing without treatment. False negatives can also occur in other fields, such as security or fraud detection. In these cases, a false negative may result in someone being granted access or approving a transaction that should not have been allowed. False negatives are often more serious than false positives, and so it is important to take them into account when evaluating the performance of a classification model. This value represents the number of positives [out of 107] that get falsely predicted as negative. Out of 107 actual positives, 3 is falsely predicted as negative. Thus, the value of False Negative is 3.

Với các định nghĩa trên, hãy để Lôi thử và hiểu khái niệm về độ chính xác, độ chính xác, thu hồi và điểm số F1.

Điểm chính xác là bao nhiêu?

Điểm chính xác mô hình đo tỷ lệ của các nhãn dự đoán tích cực thực sự chính xác. Độ chính xác còn được gọi là giá trị dự đoán tích cực. Độ chính xác được sử dụng cùng với việc thu hồi để đánh đổi các dương tính giả và phủ định sai. Độ chính xác bị ảnh hưởng bởi phân phối lớp. Nếu có nhiều mẫu hơn trong lớp thiểu số, thì độ chính xác sẽ thấp hơn. Độ chính xác có thể được coi là một thước đo của độ chính xác hoặc chất lượng. Nếu chúng ta muốn giảm thiểu các tiêu cực sai, chúng ta sẽ chọn một mô hình có độ chính xác cao. Ngược lại, nếu chúng tôi muốn giảm thiểu các dương tính giả, chúng tôi sẽ chọn một mô hình có thu hồi cao. Độ chính xác chủ yếu được sử dụng khi chúng ta cần dự đoán lớp dương tính và có chi phí lớn hơn liên quan đến dương tính giả so với các tiêu cực giả như trong chẩn đoán y tế hoặc lọc thư rác. Ví dụ: nếu một mô hình chính xác 99% nhưng chỉ có độ chính xác 50%, điều đó có nghĩa là một nửa thời gian khi dự đoán email là một thư rác, nó thực sự không phải là thư rác.model precision score measures the proportion of positively predicted labels that are actually correct. Precision is also known as the positive predictive value. Precision is used in conjunction with the recall to trade-off false positives and false negatives. Precision is affected by the class distribution. If there are more samples in the minority class, then precision will be lower. Precision can be thought of as a measure of exactness or quality. If we want to minimize false negatives, we would choose a model with high precision. Conversely, if we want to minimize false positives, we would choose a model with high recall. Precision is mainly used when we need to predict the positive class and there is a greater cost associated with false positives than with false negatives such as in medical diagnosis or spam filtering. For example, if a model is 99% accurate but only has 50% precision, that means that half of the time when it predicts an email is a spam, it is actually not spam.

Điểm chính xác là một thước đo hữu ích cho sự thành công của dự đoán khi các lớp rất mất cân bằng.success of prediction when the classes are very imbalanced. Mathematically, it represents the ratio of true positive to the sum of true positive and false positive.

Điểm chính xác = TP / [FP + TP]

Từ công thức trên, bạn có thể nhận thấy rằng giá trị của dương tính giả sẽ ảnh hưởng đến điểm chính xác. Do đó, trong khi xây dựng các mô hình dự đoán, bạn có thể chọn tập trung một cách thích hợp để xây dựng các mô hình có dương tính giả thấp hơn nếu điểm chính xác cao là quan trọng đối với các yêu cầu kinh doanh.

Điểm chính xác từ ma trận nhầm lẫn ở trên sẽ xuất hiện như sau:

Điểm chính xác = 104 / [3 + 104] = 104/107 = 0,972 = 104 / [3 + 104] = 104/107 = 0.972

Có thể đạt được điểm số tương tự bằng cách sử dụng phương pháp precision_score từ sklearn.metricsprecision_score method from sklearn.metrics

print['Precision: %.3f' % precision_score[y_test, y_pred]]

Các kịch bản trong thế giới thực khác nhau khi điểm chính xác có thể được sử dụng làm số liệu đánh giá

Điểm chính xác có thể được sử dụng trong kịch bản mà mô hình học máy được yêu cầu để xác định tất cả các ví dụ tích cực mà không có bất kỳ dương tính giả nào. Ví dụ, các mô hình học máy được sử dụng trong các ứng dụng chẩn đoán y tế trong đó bác sĩ muốn các mô hình học máy sẽ không cung cấp nhãn viêm phổi nếu bệnh nhân không mắc bệnh này. Các bác sĩ ung thư lý tưởng muốn các mô hình có thể xác định tất cả các tổn thương ung thư mà không cần bất kỳ kết quả dương tính giả nào và do đó người ta có thể sử dụng điểm chính xác trong các trường hợp như vậy. Lưu ý rằng một số lượng lớn các dương tính giả sẽ dẫn đến rất nhiều căng thẳng cho bệnh nhân nói chung mặc dù điều đó có thể không gây tử vong từ góc độ sức khỏe. Các thử nghiệm tiếp theo sẽ có thể phủ nhận dự đoán dương tính giả.

Ví dụ khác trong đó điểm chính xác có thể hữu ích là phát hiện gian lận thẻ tín dụng. Trong các vấn đề phát hiện gian lận thẻ tín dụng, các mô hình phân loại được đánh giá bằng cách sử dụng điểm chính xác để xác định có bao nhiêu mẫu tích cực được phân loại chính xác theo mô hình phân loại. Bạn không muốn có một số lượng cao các dương tính giả nếu không bạn có thể sẽ chặn nhiều thẻ tín dụng và do đó rất nhiều sự thất vọng với người dùng cuối.

Một ví dụ khác mà bạn muốn độ chính xác lớn hơn là các bộ lọc thư rác. Một số lượng lớn các dương tính giả trong bộ lọc thư rác có nghĩa là một hoặc nhiều email quan trọng có thể được gắn thẻ là thư rác và chuyển sang các thư mục spam. Điều này có thể cản trở theo nhiều cách khác nhau bao gồm tác động đến công việc hàng ngày của bạn.spam filters. A greater number of false positives in a spam filter would mean that one or more important emails could be tagged as spam and moved to spam folders. This could hamper in so many different ways including impact on your day-to-day work.

Điểm thu hồi là gì?

Điểm thu hồi mô hình đại diện cho khả năng mô hình để dự đoán chính xác các tích cực từ các mặt tích cực thực tế. Điều này không giống như độ chính xác, trong đó đo lường có bao nhiêu dự đoán được thực hiện bởi các mô hình thực sự tích cực trong tất cả các dự đoán tích cực được đưa ra. Ví dụ: nếu mô hình học máy của bạn đang cố gắng xác định các đánh giá tích cực, điểm thu hồi sẽ là bao nhiêu phần trăm các đánh giá tích cực đó, mô hình học máy của bạn dự đoán chính xác là tích cực. Nói cách khác, nó đo lường mức độ tốt của mô hình máy học của chúng tôi trong việc xác định tất cả các tích cực thực tế trong tất cả các tích cực tồn tại trong một bộ dữ liệu. Điểm thu hồi càng cao, mô hình máy học càng tốt trong việc xác định cả các ví dụ tích cực và tiêu cực. Nhớ lại còn được gọi là độ nhạy hoặc tỷ lệ dương thực sự. Điểm thu hồi cao chỉ ra rằng mô hình tốt trong việc xác định các ví dụ tích cực. Ngược lại, điểm thu hồi thấp chỉ ra rằng mô hình không tốt trong việc xác định các ví dụ tích cực. Nhớ lại thường được sử dụng cùng với các số liệu hiệu suất khác, chẳng hạn như độ chính xác và độ chính xác, để có được một bức tranh hoàn chỉnh về hiệu suất của mô hình. Về mặt toán học, nó đại diện cho tỷ lệ dương tính thực với tổng của dương tính và âm tính giả.

Ghi nhớ điểm = TP / [FN + TP]

Từ công thức trên, bạn có thể nhận thấy rằng giá trị của âm tính giả sẽ tác động đến điểm thu hồi. Do đó, trong khi xây dựng các mô hình dự đoán, bạn có thể chọn tập trung một cách thích hợp để xây dựng các mô hình có tiêu cực giả thấp hơn nếu điểm thu hồi cao là quan trọng đối với các yêu cầu kinh doanh.

Điểm thu hồi từ ma trận nhầm lẫn ở trên sẽ xuất hiện như sau:

Điểm nhớ lại = 104 / [3 + 104] = 104/107 = 0,972 = 104 / [3 + 104] = 104/107 = 0.972

Có thể đạt được điểm số tương tự bằng cách sử dụng phương pháp reBle_score từ sklearn.metricsrecall_score method from sklearn.metrics

print['Recall: %.3f' % recall_score[y_test, y_pred]]

Điểm thu hồi có thể được sử dụng trong kịch bản mà các nhãn không được phân chia như nhau giữa các lớp. Ví dụ: nếu có tỷ lệ mất cân bằng lớp là 20:80 [dữ liệu mất cân bằng], thì điểm thu hồi sẽ hữu ích hơn độ chính xác vì nó có thể cung cấp thông tin về việc mô hình học máy xác định các sự kiện hiếm hơn.

Các kịch bản trong thế giới thực khác nhau khi điểm thu hồi có thể được sử dụng làm số liệu đánh giá

Điểm thu hồi là một số liệu quan trọng cần xem xét khi đo lường hiệu quả của các mô hình học máy của bạn. Nó có thể được sử dụng trong một loạt các kịch bản trong thế giới thực, và điều quan trọng là luôn luôn nhằm mục đích cải thiện điểm thu hồi và điểm chính xác cùng nhau. Sau đây là các ví dụ về một số kịch bản trong thế giới thực trong đó điểm thu hồi có thể được sử dụng làm số liệu đánh giá:

  • Trong chẩn đoán y tế, điểm thu hồi sẽ là một số lượng cực kỳ âm tính cao hơn nếu không sẽ chứng minh là gây tử vong cho cuộc sống của bệnh nhân. Điểm thu hồi thấp hơn có nghĩa là một âm tính giả lớn hơn, về cơ bản có nghĩa là một số bệnh nhân dương tính được gọi là âm tính giả. Điều đó có nghĩa là bệnh nhân sẽ được đảm bảo rằng anh ấy/cô ấy không bị bệnh và do đó anh ấy/cô ấy đã giành được bất kỳ hành động nào nữa. Điều đó có thể dẫn đến căn bệnh trở nên trầm trọng hơn và chứng minh tử vong cho cuộc sống.
  • Trong một hệ thống sản xuất, bạn sẽ muốn có một điểm thu hồi cao hơn cho các mô hình học máy dự đoán về nhu cầu bảo trì hệ thống. Điểm thu hồi thấp hơn có nghĩa là một âm tính giả cao hơn có thể dẫn đến thời gian ngừng hoạt động của các máy và do đó tác động đến doanh nghiệp nói chung.
  • Trong một hệ thống phát hiện gian lận thẻ tín dụng, bạn sẽ muốn có điểm thu hồi cao hơn của các mô hình dự đoán dự đoán các giao dịch gian lận. Điểm thu hồi thấp hơn có nghĩa là âm tính giả cao hơn, điều đó có nghĩa là gian lận lớn hơn và do đó mất doanh nghiệp về mặt người dùng khó chịu.
  • Trong phân tích tình cảm, điểm thu hồi xác định có bao nhiêu tweet hoặc bình luận có liên quan được tìm thấy trong khi điểm chính xác là phần của các tweet được truy xuất thực sự được gắn thẻ là dương. Một điểm thu hồi cao sẽ được hưởng lợi từ một phân tích tập trung.

Điểm chính xác là gì?

Độ chính xác của mô hình là một số liệu hiệu suất phân loại mô hình học máy được định nghĩa là tỷ lệ tích cực thực sự và tiêu cực thực sự cho tất cả các quan sát tích cực và tiêu cực. Nói cách khác, độ chính xác cho chúng ta biết tần suất chúng ta có thể mong đợi mô hình học máy của mình sẽ dự đoán chính xác kết quả trong tổng số lần nó đưa ra dự đoán. Ví dụ: Hãy giả sử rằng bạn đang kiểm tra mô hình học máy của mình với bộ dữ liệu gồm 100 bản ghi và mô hình học máy của bạn dự đoán tất cả 90 trong số các trường hợp đó một cách chính xác. Số liệu chính xác, trong trường hợp này, sẽ là: [90/100] = 90%. Tỷ lệ chính xác là tuyệt vời nhưng nó không cho chúng ta biết bất cứ điều gì về các lỗi mà các mô hình học máy của chúng ta tạo ra trên dữ liệu mới mà chúng ta đã thấy trước đây.is a machine learning classification model performance metric that is defined as the ratio of true positives and true negatives to all positive and negative observations. In other words, accuracy tells us how often we can expect our machine learning model will correctly predict an outcome out of the total number of times it made predictions. For example: Let’s assume that you were testing your machine learning model with a dataset of 100 records and that your machine learning model predicted all 90 of those instances correctly. The accuracy metric, in this case, would be: [90/100] = 90%. The accuracy rate is great but it doesn’t tell us anything about the errors our machine learning models make on new data we haven’t seen before.

Về mặt toán học, nó đại diện cho tỷ lệ của tổng của các tiêu cực tích cực và thực sự trong tất cả các dự đoán.

Điểm chính xác = [TP + TN]/ [TP + FN + TN + FP]

Điểm chính xác từ trên ma trận nhầm lẫn ở trên sẽ xuất hiện như sau:

Điểm chính xác = [104 + 61] / [104 + 3 + 61 + 3] = 165/171 = 0.965 = [104 + 61] / [104 + 3 + 61 + 3] = 165/171 = 0.965

Có thể đạt được điểm số tương tự bằng cách sử dụng phương pháp chính xác_score từ sklearn.metricsaccuracy_score method from sklearn.metrics

print['Accuracy: %.3f' % accuracy_score[y_test, y_pred]]

Thận trọng với các số liệu / điểm số chính xác

Sau đây là một số vấn đề với số liệu / điểm chính xác:issues with accuracy metrics / score:

  • Các số liệu độ chính xác giống nhau cho hai mô hình khác nhau có thể chỉ ra hiệu suất mô hình khác nhau đối với các lớp khác nhau.
  • Trong trường hợp bộ dữ liệu mất cân bằng, các số liệu chính xác không phải là số liệu hiệu quả nhất được sử dụng.

Người ta nên thận trọng khi dựa vào các số liệu chính xác của mô hình để đánh giá hiệu suất mô hình. Hãy xem ma trận nhầm lẫn sau đây. Đối với độ chính xác của mô hình được biểu thị bằng cả hai trường hợp [trái và phải], độ chính xác là 60%. Tuy nhiên, cả hai mô hình thể hiện các hành vi khác nhau.cautious when relying on the accuracy metrics of model to evaluate the model performance. Take a look at the following confusion matrix. For model accuracy represented using both the cases [left and right], the accuracy is 60%. However, both the models exhibit different behaviors.

Hiệu suất mô hình được biểu thị bằng ma trận nhầm lẫn bên trái cho thấy mô hình có tốc độ nhận dạng dương yếu trong khi ma trận nhầm lẫn bên phải biểu thị rằng mô hình có tốc độ nhận dạng tích cực mạnh. Lưu ý rằng độ chính xác là 60% cho cả hai mô hình. Do đó, người ta cần đào sâu hơn để hiểu về hiệu suất mô hình với các số liệu chính xác.

Các số liệu chính xác cũng không đáng tin cậy cho các mô hình được đào tạo trên các bộ dữ liệu mất cân bằng. Lấy một kịch bản của bộ dữ liệu với sự mất cân bằng 95% [dữ liệu 95% là lớp tiêu cực]. Độ chính xác của trình phân loại sẽ rất cao vì nó sẽ thực hiện chính xác dự đoán đúng đưa ra âm tính trong hầu hết thời gian. Một trình phân loại tốt hơn thực sự liên quan đến vấn đề mất cân bằng lớp học, có khả năng có điểm số liệu chính xác tồi tệ hơn. Trong kịch bản như vậy của bộ dữ liệu mất cân bằng, một số liệu khác AUC [khu vực theo đường cong ROC] mạnh hơn so với điểm số liệu chính xác. AUC tham gia vào việc xem xét, phân phối lớp trong bộ dữ liệu mất cân bằng.accuracy metrics is also not reliable for the models trained on imbalanced datasets. Take a scenario of dataset with 95% imbalance [95% data is negative class]. The accuracy of the classifier will be very high as it will be correctly doing right prediction issuing negative most of the time. A better classifier that actually deals with the class imbalance issue, is likely to have a worse accuracy metrics score. In such scenario of imbalanced dataset, another metrics AUC [the area under ROC curve] is more robust than the accuracy metrics score. The AUC takes into the consideration, the class distribution in imbalanced dataset.

Điểm số F1 là gì?

Điểm F1 mô hình đại diện cho điểm số mô hình là một hàm của điểm chính xác và thu hồi. F-Score là một số liệu hiệu suất của mô hình học máy cho trọng lượng tương đương với cả độ chính xác và thu hồi để đo lường hiệu suất của nó về độ chính xác, làm cho nó trở thành một thay thế cho các số liệu chính xác [nó không yêu cầu chúng ta phải biết tổng số quan sát ]. Nó thường được sử dụng như một giá trị duy nhất cung cấp thông tin cấp cao về chất lượng đầu ra của mô hình. Đây là một thước đo hữu ích của mô hình trong các kịch bản trong đó người ta cố gắng tối ưu hóa điểm chính xác hoặc thu hồi điểm và kết quả là, hiệu suất mô hình phải chịu đựng. Sau đây thể hiện các khía cạnh liên quan đến các vấn đề với tối ưu hóa điểm chính xác hoặc thu hồi điểm: represents the model score as a function of precision and recall score. F-score is a machine learning model performance metric that gives equal weight to both the Precision and Recall for measuring its performance in terms of accuracy, making it an alternative to Accuracy metrics [it doesn’t require us to know the total number of observations]. It’s often used as a single value that provides high-level information about the model’s output quality. This is a useful measure of the model in the scenarios where one tries to optimize either of precision or recall score and as a result, the model performance suffers. The following represents the aspects relating to issues with optimizing either precision or recall score:

  • Tối ưu hóa để thu hồi giúp giảm thiểu cơ hội không phát hiện ung thư ác tính. Tuy nhiên, điều này có chi phí dự đoán ung thư ác tính ở bệnh nhân mặc dù bệnh nhân khỏe mạnh [số lượng cao FP].
  • Tối ưu hóa cho độ chính xác giúp với sự đúng đắn nếu bệnh nhân bị ung thư ác tính. Tuy nhiên, điều này có chi phí thiếu ung thư ác tính thường xuyên hơn [số lượng FN cao].

Về mặt toán học, nó có thể được biểu diễn dưới dạng trung bình hài hòa của điểm chính xác và thu hồi.

Điểm F1 = 2 * Điểm chính xác * Điểm nhớ lại/ [Điểm chính xác + Điểm thu hồi/]Precision Score + Recall Score/]

Điểm chính xác từ ma trận nhầm lẫn ở trên sẽ xuất hiện như sau:

Điểm F1 = [2 * 0,972 * 0,972] / [0,972 + 0,972] = 1,89 / 1.944 = 0,972= [2 * 0.972 * 0.972] / [0.972 + 0.972] = 1.89 / 1.944 = 0.972

Có thể đạt được điểm số tương tự bằng cách sử dụng phương pháp F1_Score từ sklearn.metricsf1_score method from sklearn.metrics

print['F1 Score: %.3f' % f1_score[y_test, y_pred]]

Kết luận

Dưới đây là bản tóm tắt về những gì bạn đã học được liên quan đến độ chính xác, nhớ lại, độ chính xác và điểm số F1.

  • Một điểm chính xác được sử dụng để đo lường hiệu suất mô hình trong việc đo lường số lượng tích cực thực sự theo cách chính xác trong tất cả các dự đoán tích cực được đưa ra.
  • Điểm thu hồi được sử dụng để đo lường hiệu suất mô hình về mặt đo lường số lượng tích cực thực sự một cách chính xác trong tất cả các giá trị tích cực thực tế.
  • Điểm số chính xác là một thước đo hữu ích của sự thành công của dự đoán khi các lớp rất mất cân bằng. & NBSP;
  • Điểm chính xác được sử dụng để đo lường hiệu suất mô hình về mặt đo lường tỷ lệ tổng của các tiêu cực tích cực và thực sự trong tất cả các dự đoán được đưa ra.
  • Điểm số F1 là trung bình hài hòa của điểm chính xác và thu hồi và được sử dụng làm số liệu trong các kịch bản trong đó việc chọn điểm chính xác hoặc thu hồi có thể dẫn đến sự thỏa hiệp về mặt mô hình tạo ra các dương tính giả cao và âm tính sai tương ứng.harmonic mean of precision and recall score and is used as a metrics in the scenarios where choosing either of precision or recall score can result in compromise in terms of model giving high false positives and false negatives respectively.

Kiểm tra cuốn sách mới nhất của tôi về Lý luận bởi các nguyên tắc đầu tiên có tiêu đề là - Nguyên tắc đầu tiên suy nghĩ: Xây dựng các sản phẩm chiến thắng bằng cách sử dụng tư duy nguyên tắc đầu tiên. Bạn cũng có thể kiểm tra blog liên quan - Nguyên tắc đầu tiên tư duy được giải thích với các ví dụ.my latest book on reasoning by first principles titled as – First principles thinking: Building winning products using first principles thinking. You may as well check out the related blog – First principles thinking explained with examples.

  • Tác giả
  • Bài viết gần đây

Gần đây tôi đã làm việc trong lĩnh vực phân tích dữ liệu bao gồm khoa học dữ liệu và học máy / học sâu. Tôi cũng đam mê các công nghệ khác nhau bao gồm các ngôn ngữ lập trình như Java/JEE, JavaScript, Python, R, Julia, v.v. vv Để cập nhật và blog mới nhất, hãy theo dõi chúng tôi trên Twitter. Tôi rất thích kết nối với bạn trên LinkedIn.

Kiểm tra cuốn sách mới nhất của tôi có tiêu đề là Nguyên tắc đầu tiên suy nghĩ: Xây dựng các sản phẩm chiến thắng bằng cách sử dụng suy nghĩ nguyên tắc đầu tiên

Độ chính xác trong Python là gì?

Sự chính xác. Độ chính xác là tỷ lệ phần trăm của dữ liệu được phân loại chính xác, dao động từ 0 đến 1. Biện pháp này khá bản năng mà chúng tôi chỉ so sánh lớp dự đoán và lớp thực tế và chúng tôi muốn mô hình phân loại chính xác dữ liệu. Công thức chính xác.the percentage of data that are correctly classified, which ranges from 0 to 1. This measure is quite instinctive that we just compare the predicted class and the actual class, and we want the model to correctly classify the data. Accuracy formula.

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].

Điểm chính xác trong Python là gì?

Độ chính xác là tỷ lệ TP / [TP + FP] trong đó TP là số lượng dương tính thực sự và FP số lượng dương tính giả.Độ chính xác là trực giác khả năng của trình phân loại không gắn nhãn là một mẫu dương tính âm.Giá trị tốt nhất là 1 và giá trị tồi tệ nhất là 0.the ratio tp / [tp + fp] where tp is the number of true positives and fp the number of false positives. The precision is intuitively the ability of the classifier not to label as positive a sample that is negative. The best value is 1 and the worst value is 0.

Độ chính xác và độ chính xác trong học máy là gì?

Độ chính xác cho bạn biết bao nhiêu lần mô hình ML là chính xác tổng thể. Tổng hợp là mô hình tốt như thế nào trong việc dự đoán một danh mục cụ thể.Nhớ lại cho bạn biết bao nhiêu lần mô hình có thể phát hiện một danh mục cụ thể. Precision is how good the model is at predicting a specific category. Recall tells you how many times the model was able to detect a specific category.

Bài Viết Liên Quan

Chủ Đề