日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
什么是pr查詢,掌握pr查詢方法

什么是PR查詢,掌握PR查詢方法

站在用戶的角度思考問題,與客戶深入溝通,找到河源網(wǎng)站設(shè)計與河源網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋河源地區(qū)。

1. PR查詢簡介

PR(Precision-Recall)是一種用于評估分類模型性能的指標,主要用于衡量模型在召回率(Recall)和精確度(Precision)之間的平衡,PR查詢是指通過計算不同閾值下的PR值,來確定最佳閾值的方法,這種方法可以幫助我們找到一個既能滿足精確度要求,又能達到較高召回率的閾值。

2. PR查詢方法

PR查詢主要包括以下幾個步驟:

2.1 準備數(shù)據(jù)

我們需要準備一個包含真實標簽和預(yù)測標簽的數(shù)據(jù)集,數(shù)據(jù)集通常是一個二維數(shù)組,其中每一行表示一個樣本,第一列是真實標簽,第二列是預(yù)測標簽。

import numpy as np
data = np.array([
    ['A', 'B'],
    ['B', 'A'],
    ['A', 'A'],
    ['B', 'B']
])

2.2 計算混淆矩陣

接下來,我們需要計算混淆矩陣,混淆矩陣是一個二維數(shù)組,其中行表示實際類別,列表示預(yù)測類別,對于每個樣本,我們可以將其真實標簽和預(yù)測標簽填入混淆矩陣中。

def confusion_matrix(data):
    y_true = [row[0] for row in data]
    y_pred = [row[1] for row in data]
    return np.histogram2d(y_true, y_pred, bins=[2, 2])[0] / len(data)
cm = confusion_matrix(data)
print("Confusion Matrix:")
print(cm)

2.3 計算PR值

有了混淆矩陣后,我們可以計算PR值,PR值是一個二維數(shù)組,其中每個元素表示對應(yīng)閾值下的PR值,我們可以通過遍歷所有可能的閾值來計算這些值。

def pr_values(cm):
    n = cm.shape[0] * cm.shape[1]
    precision = np.zeros((n, n))
    recall = np.zeros((n, n))
    tp = np.diag(cm)
    fp = np.sum(cm, axis=0) tp
    fn = np.sum(cm, axis=1) tp
    for i in range(n):
        for j in range(n):
            if i == j:
                precision[i][j] = (tp[i] + tp[j]) / (tp[i] + fp[i] + fn[j]) if (tp[i] + tp[j]) > 0 else 0.5
                recall[i][j] = tp[i] / (tp[i] + fn[j]) if (tp[i] + fn[j]) > 0 else 0.5
            elif i < j:
                precision[i][j] = precision[j][i] = (tp[j] + tp[i]) / (tp[j] + fp[j] + fn[i]) if (tp[j] + tp[i]) > 0 else 0.5
                recall[i][j] = recall[j][i] = (tp[j] + tp[i]) / (tp[j] + fn[i]) if (tp[j] + fn[i]) > 0 else 0.5
            else:
                continue
    idxs = np.argsort(recall[:, ::-1], axis=1)[:, ::-1].flatten()
    max_idx = np.argmax(precision) if precision.any() else None
    max_recall = recall[idxs, max_idx] if max_idx is not None else None
    max_precision = precision[idxs, max_idx] if max_idx is not None else None
    max_fscore = max_precision * max_recall if max_precision and max_recall else None
    max_idxes = [np.unravel_index(idxs == i, recall.shape) for i in range(len(idxs)) if i != max_idx] if max_idx is not None else []
    max_pr = [(precision[r], recall[r], fscore) for r in max_idxes] if max_idxes else []
    return max_pr, max_recall, max_precision, max_fscore, max_idxes, cm[:, ::-1].T @ cm[:, ::-1].T == np.eye(2) * n

分享題目:什么是pr查詢,掌握pr查詢方法
新聞來源:http://www.5511xx.com/article/dheposc.html