Hướng dẫn what is f1 score in python? - điểm f1 trong python là gì?

sklearn.metrics.f1_score (y_true, y_pred, *, nhãn = none, pos_label = 1, trung bình = 'nhị phân', sample_weight = nonef1_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')[source]

Tính điểm F1, còn được gọi là điểm F hoặc F-SEALURE cân bằng.

Điểm F1 có thể được hiểu là trung bình hài hòa của độ chính xác và thu hồi, trong đó điểm F1 đạt giá trị tốt nhất của nó ở mức 1 và điểm tệ nhất ở mức 0. Đóng góp tương đối của độ chính xác và thu hồi điểm F1 bằng nhau. Công thức cho điểm F1 là:

F1 = 2 * (precision * recall) / (precision + recall)

Trong trường hợp đa lớp và đa nhãn, đây là mức trung bình của điểm F1 của mỗi lớp với trọng số tùy thuộc vào tham số average.

Đọc thêm trong Hướng dẫn sử dụng.User Guide.

Các tham số: Y_TRUE1D giống như mảng hoặc mảng chỉ báo nhãn / ma trận thưa thớt:y_true1d array-like, or label indicator array / sparse matrix

Sự thật mặt đất (đúng) giá trị mục tiêu.

Y_PRED1D giống như mảng, hoặc mảng chỉ báo nhãn / ma trận thưa thớt1d array-like, or label indicator array / sparse matrix

Các mục tiêu ước tính được trả lại bởi một phân loại.

LabelsArray-like, default = nonearray-like, default=None

Tập hợp các nhãn bao gồm khi average != 'binary' và thứ tự của chúng nếu average is None. Các nhãn có trong dữ liệu có thể được loại trừ, ví dụ để tính toán mức trung bình đa lớp bỏ qua một lớp âm tính đa số, trong khi các nhãn không có trong dữ liệu sẽ dẫn đến 0 thành phần ở mức trung bình vĩ mô. Đối với các mục tiêu đa nhãn, nhãn là các chỉ số cột. Theo mặc định, tất cả các nhãn trong y_truey_pred được sử dụng theo thứ tự được sắp xếp.

Đã thay đổi trong phiên bản 0.17: Tham số labels được cải thiện cho vấn đề đa lớp.Parameter labels improved for multiclass problem.

pos_labelstr hoặc int, mặc định = 1str or int, default=1

Lớp để báo cáo nếu average='binary' và dữ liệu là nhị phân. Nếu dữ liệu là đa nhãn hoặc đa nhãn, điều này sẽ bị bỏ qua; Cài đặt labels=[pos_label]average != 'binary' sẽ chỉ báo cáo điểm cho nhãn đó.

Trung bình {‘micro,’ macro, ‘mẫu,’ có trọng số, ‘nhị phân} hoặc không, mặc định ={‘micro’, ‘macro’, ‘samples’, ‘weighted’, ‘binary’} or None, default=’binary’

Tham số này được yêu cầu cho các mục tiêu đa nhãn/đa nhãn. Nếu

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
1, điểm số cho mỗi lớp được trả về. Mặt khác, điều này xác định loại trung bình được thực hiện trên dữ liệu:

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
2:

Chỉ báo cáo kết quả cho lớp được chỉ định bởi

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
3. Điều này chỉ áp dụng nếu các mục tiêu (
>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
4) là nhị phân.

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
5:

Tính toán số liệu trên toàn cầu bằng cách đếm tổng số tích cực thực sự, tiêu cực sai và dương tính sai.

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
6:

Tính toán số liệu cho mỗi nhãn và tìm ý nghĩa không trọng số của chúng. Điều này không tính đến sự mất cân bằng nhãn.

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
7:

Tính toán số liệu cho mỗi nhãn và tìm trọng số trung bình của chúng được hỗ trợ (số lượng phiên bản thực cho mỗi nhãn). Điều này thay đổi ‘macro, để giải thích sự mất cân bằng nhãn; Nó có thể dẫn đến một điểm F không nằm giữa độ chính xác và thu hồi.

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
8:

Tính toán số liệu cho từng trường hợp và tìm mức trung bình của chúng (chỉ có ý nghĩa đối với phân loại đa nhãn trong đó điều này khác với

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])
9).

sample_weightarray giống như hình dạng (n_samples,), mặc định = không cóarray-like of shape (n_samples,), default=None

Trọng lượng mẫu.

zero_division ”cảnh báo, 0 hoặc 1, mặc định =" cảnh báo "“warn”, 0 or 1, default=”warn”

Đặt giá trị để trả về khi có một phân chia bằng không, tức là khi tất cả các dự đoán và nhãn là âm. Nếu được đặt thành cảnh báo cảnh báo, thì điều này hoạt động như 0, nhưng cảnh báo cũng được nêu ra.

Trả về: f1_scorefloat hoặc mảng float, hình dạng = [n_unique_labels]:f1_scorefloat or array of float, shape = [n_unique_labels]

Điểm F1 của lớp dương tính trong phân loại nhị phân hoặc trung bình có trọng số của điểm F1 của mỗi lớp cho nhiệm vụ đa lớp.

Ghi chú

Khi average0, độ chính xác là không xác định. Khi average1, thu hồi là không xác định. Trong các trường hợp như vậy, theo mặc định, số liệu sẽ được đặt thành 0, cũng như điểm F và average2 sẽ được nâng lên. Hành vi này có thể được sửa đổi với average3.

Người giới thiệu

Ví dụ

>>> from sklearn.metrics import f1_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> f1_score(y_true, y_pred, average='macro')
0.26...
>>> f1_score(y_true, y_pred, average='micro')
0.33...
>>> f1_score(y_true, y_pred, average='weighted')
0.26...
>>> f1_score(y_true, y_pred, average=None)
array([0.8, 0. , 0. ])
>>> y_true = [0, 0, 0, 0, 0, 0]
>>> y_pred = [0, 0, 0, 0, 0, 0]
>>> f1_score(y_true, y_pred, zero_division=1)
1.0...
>>> # multilabel classification
>>> y_true = [[0, 0, 0], [1, 1, 1], [0, 1, 1]]
>>> y_pred = [[0, 0, 0], [1, 1, 1], [1, 1, 0]]
>>> f1_score(y_true, y_pred, average=None)
array([0.66666667, 1.        , 0.66666667])

Ví dụ sử dụng ________ 24¶

Điểm F1 được sử dụng để làm gì?

Điểm F1 là bao nhiêu?Điểm F1 thường được sử dụng để đo lường hiệu suất phân loại nhị phân, nhưng các phần mở rộng cho các phân loại đa lớp tồn tại.to measure performance of binary classification, but extensions to multi-class classifications exist.

Ví dụ về điểm F1 là gì?

Điểm F1 là giá trị trung bình hài hòa của độ chính xác và thu hồi và là một biện pháp tốt hơn độ chính xác.Trong ví dụ mang thai, điểm F1 = 2 * (0,857 * 0,75)/(0,857 + 0,75) = 0,799.pregnancy example, F1 Score = 2* ( 0.857 * 0.75)/(0.857 + 0.75) = 0.799.

Điểm F1 trong cây quyết định là gì?

Điểm F1 - Điểm F1 là trung bình có trọng số của độ chính xác và thu hồi.Do đó, điểm số này đưa cả tích cực sai và tiêu cực sai.Theo trực giác, nó không dễ hiểu như độ chính xác, nhưng F1 thường hữu ích hơn độ chính xác, đặc biệt nếu bạn có phân phối lớp không đồng đều.the weighted average of Precision and Recall. Therefore, this score takes both false positives and false negatives into account. Intuitively it is not as easy to understand as accuracy, but F1 is usually more useful than accuracy, especially if you have an uneven class distribution.

Điểm F1 trong hồi quy tuyến tính là gì?

Điểm F1.Biện pháp điểm F1 cung cấp một cách để kết hợp cả độ chính xác và thu hồi thành một thước đo duy nhất nắm bắt cả hai thuộc tính.Như đã đề cập trước đây, độ chính xác là một số liệu để giảm thiểu tỷ lệ dương tính giả (mô hình quá 'tự tin' dữ liệu nhãn là 'dương').provides a way to combine both precision and recall into a single measure that captures both properties. As mentioned before, precision is a metric to minimize false positive rate (model too 'confident' labels data as 'positive').