【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明
函數(shù)聲明:
precision_score(y_true, y_pred, labels=None, pos_label=1, average='binary', sample_weight=None)
其中較為常用的參數(shù)解釋如下:
y_true:真實(shí)標(biāo)簽
y_pred:預(yù)測(cè)標(biāo)簽
average:評(píng)價(jià)值的平均值的計(jì)算方式??梢越邮誟None, 'binary' (default), 'micro', 'macro', 'samples', 'weighted']對(duì)于多類(lèi)/多標(biāo)簽目標(biāo)需要此參數(shù)。下面進(jìn)行詳細(xì)說(shuō)明:
如果是None,則返回每個(gè)類(lèi)的分?jǐn)?shù)。否則,這決定了對(duì)數(shù)據(jù)進(jìn)行平均的類(lèi)型用下面幾種統(tǒng)計(jì)方法的哪一種:
?
先說(shuō)對(duì)于'micro' :
這兩種寫(xiě)法是等價(jià)的
print(precision_score(y_test, y_pred,average='micro'))
print(np.sum(y_test == y_pred) / len(y_test))
?
以下內(nèi)容中,P表示二分類(lèi)時(shí)精確率的計(jì)算結(jié)果??部分內(nèi)容參考
' macro '? : 相當(dāng)于類(lèi)間不帶權(quán)重。不考慮類(lèi)別數(shù)量,不適用于類(lèi)別不均衡的數(shù)據(jù)集,其計(jì)算方式為:?各類(lèi)別的P求和/類(lèi)別數(shù)量
' weighted ' : 相當(dāng)于類(lèi)間帶權(quán)重。各類(lèi)別的P?×?該類(lèi)別的樣本數(shù)量(實(shí)際值而非預(yù)測(cè)值)/?樣本總數(shù)量
舉個(gè)例子:
如實(shí)際樣本中,0類(lèi)有98個(gè)樣本,1類(lèi)有2個(gè)樣本,3類(lèi)有100個(gè)樣本,共有3類(lèi),樣本總數(shù)為20。
預(yù)測(cè)結(jié)果中,0類(lèi)全部預(yù)測(cè)為3類(lèi),全部錯(cuò)誤;1類(lèi)全部預(yù)測(cè)正確;3類(lèi)全部預(yù)測(cè)為0類(lèi),全部預(yù)測(cè)錯(cuò)誤。
則P_macro = 0 + 1 + 0 / 3 = 0.33333333
P_weighted = 0×98 + 1×2 + 0×100 / 200 = 2/200 = 0.01
?
再舉個(gè)例子:
如共有100個(gè)樣本,0類(lèi)98個(gè),1類(lèi)2個(gè);
預(yù)測(cè)結(jié)果為全0
則P_macro = 0.98 +?0 / 2 = 0.49
P_weighted = 98×0.98 + 0×2 / 100 = 2/200 = 0.9604
得出結(jié)論:
對(duì)于類(lèi)別不均衡的分類(lèi)模型,采用macro方式會(huì)有較大的偏差,采用weighted方式則可較好反映模型的優(yōu)劣,因?yàn)槿纛?lèi)別數(shù)量較小則存在蒙對(duì)或蒙錯(cuò)的概率,其結(jié)果不能真實(shí)反映模型優(yōu)劣,需要較大的樣本數(shù)量才可計(jì)算較為準(zhǔn)確的評(píng)價(jià)值,通過(guò)將樣本數(shù)量作為權(quán)重,可理解為評(píng)價(jià)值的置信度,數(shù)量越多,其評(píng)價(jià)值越可信。
?
再給個(gè)鏈接給予參考:https://www.cnblogs.com/harvey888/p/6964741.html
總結(jié)
以上是生活随笔為你收集整理的【Python学习】 - sklearn学习 - 评估指标precision_score的参数说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 招行账单分期最高多少钱 招行账单分期最高
- 下一篇: 【Python学习】 - anacond