簡體   English   中英

在Python中使用Logistic回歸的預測矢量的准確性得分

[英]Accuracy Score for a vector of predictions using Logistic Regression in Python

我正在使用Logistic回歸方法進行多類分類。 基本上我知道,如果我使用precision_score()函數(例如,來自sklearn庫),它將像下面這樣計算出不同值到不同值的准確性:

y_pred = [0, 2, 1, 3]
y_true = [0, 1, 2, 3]
accuracy_score(y_true, y_pred)
0.5

但是我想為每個標簽(來自predict_proba)的頂級Logistic回歸預測的向量獲取precision_score_new()函數,並計算真實標簽是否在此間隔內,如下所示:

y_pred = [[0,1,3] [2,1,4], [1,2,5] [3,7,9]]
y_true = [0, 1, 2, 3]
accuracy_score_new(y_true, y_pred)
1

此示例中的precision_score_new等於1,因為分類器預測標簽在間隔中。 如何完成此功能?

是的,您可以使用sklearn中的make_scorer函數來實現。 想法是,您在定義自定義函數時假設它獲得了兩個參數y_true和y_pred。 如果需要,還可以添加任何其他參數。

這是一個示例: 自定義評分功能

這是另一個示例:同時使用MSE和R2分數

這個答案可能也會有所幫助。

准確性就是(匹配值/總值)。

因此,在您的情況下,它將類似於:

def accuracy_score_new(y_pred, y_true):
    matched = 0
    for y_p, y_t in zip(y_pred, y_true):
        if y_t in y_p:
            matched = matched + 1

    return (matched / (float) len(y_true))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM