def recall_k(self, k=1):
m = len(self.sim_mat) #self.sim_mat是測試集中所有影象兩兩結合
##m為測試集中所有影象個數
match_counter = 0
# self.sim_mat[i] 就是第i張圖和所有影象的結合結果,self.sim_mat[i][1],就是第i張和第1張
for i in range(m):
pos_sim = self.sim_mat[i][self.gallery_labels == self.query_labels[i]]
# 正樣本,從所有影象中找到與第i張圖標籤相同的圖
neg_sim = self.sim_mat[i][self.gallery_labels != self.query_labels[i]]
# 負樣本,從所有影象中找到與第i張圖標籤不同的圖
thresh = np.sort(pos_sim)[-2] if self.is_equal_query else np.max(pos_sim)
# 對正樣本特徵進行從小到大排序,[-1]是第i張影象和自身結合的結果,所以使用[-2],即i和另一張
#影象的相似度第二高
if np.sum(neg_sim > thresh) < k:
match_counter += 1
# np.sum(neg_sim > thresh)若符合條件,只能是0
#把所有負樣本的相似度和第二高的進行比對,把大於閾值的加起來和k比較。不同標籤的相似度大於
#相同標籤的,則標籤與匹配失敗。
return float(match_counter) / m #得到準確率
精確率,召回率
精確率 p tp tp fp 反映了被分類器判定的正例中真正的正例樣本的比重 召回率 r tp tp fn 反映了被正確分類的正樣本佔所有正樣本的比例 準確率 accuracy a tp tn p n tp tn tp fn fp tn 反映了分類器統對整個樣本的判定能力 能將正的判定為正,負的判定...
準確率召回率
知道意思,但是有時候要很清晰地向同學介紹則有點轉不過彎來。召回率和準確率是資料探勘中 網際網路中的搜尋引擎等經常涉及的兩個概念和指標。召回率 recall,又稱 查全率 還是查全率好記,也更能體現其實質意義。準確率 precision,又稱 精度 正確率 以檢索為例,可以把搜尋情況用下圖表示 相關 ...
精確率與召回率
混淆矩陣 true positive 真正,tp 將正類 為正類數.true negative 真負 tn 將負類 為負類數.false positive 假正,fp 將負類 為正類數 誤報 type i error false negative 假負 fn 將正類 為負類數 漏報 type ii ...