偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

分類器性能評(píng)估(混淆矩陣、PR曲線、ROC曲線)

人工智能 機(jī)器學(xué)習(xí)
精確率和召回率之間存在一種折中關(guān)系,提高精確率會(huì)降低召回率。到底需要較高的精確率還是較高的召回率,不能一概而論,具體場(chǎng)景具體分析。需要找得對(duì)就需要高的精確率,也就是想要的一定是好的;不想把想要的漏掉太多,就需要較高的召回率。

大家好,我是Bryce。

這次和大家分享機(jī)器學(xué)習(xí)涉及到的內(nèi)容——分類器性能評(píng)估,包括準(zhǔn)確率、精確率、召回率、PR曲線、ROC曲線等。

一、準(zhǔn)確率(Accuracy)

準(zhǔn)確率并不是一個(gè)很好的分類器性能指標(biāo),尤其是當(dāng)處理的數(shù)據(jù)集存在偏差時(shí)(一些類比其他類多得多)。比如有9個(gè)蘋(píng)果和1個(gè)香蕉,那我猜測(cè)10個(gè)都不是香蕉的準(zhǔn)確率也高達(dá)90%。

在Python中,準(zhǔn)確率指標(biāo)可以使用cross_val_score()函數(shù)評(píng)估,同時(shí)使用K折交叉驗(yàn)證。具體形式如下,其中,cv=3表示3折。

from sklearn.model_selection import cross_val_score
cross_val_score(sgd_clf, X_train, y_train_5, cv=3, scoring='accuracy')

二、混淆矩陣

圖片

如上圖所示,混淆矩陣每一行代表一個(gè)實(shí)際的結(jié)果,每一列代表一個(gè)預(yù)測(cè)的結(jié)果。分別有TP、FN、FP、TN四種結(jié)果,有Accuracy(準(zhǔn)確率)、Precision(精確率)、Sensitivity(召回率或靈敏度)、Specificity(特異度)和Negative Predictive Value(反例預(yù)測(cè)率)5種衡量指標(biāo),它們的計(jì)算公式如上圖。

還是以蘋(píng)果、香蕉舉例子(蘋(píng)果為正例,香蕉為反例):

  • TP:真正例,把蘋(píng)果認(rèn)成了蘋(píng)果;
  • FN:偽反例,把蘋(píng)果認(rèn)成了香蕉;
  • FP:偽正例,把香蕉認(rèn)成了蘋(píng)果;
  • TN:真反例,把香蕉認(rèn)成了香蕉。

Accuracy(準(zhǔn)確率):不管正負(fù)例,預(yù)測(cè)對(duì)的占多少。

Precision(精確率):找了這么多正例,找對(duì)了多少。

Sensitivity(召回率):有這么多正例,找出了多少。

在Python中計(jì)算混淆矩陣比較簡(jiǎn)單,如下:

from sklearn.metrics import confusion_matrix
confusion_matrix(y_train, y_train_pred)

其中,y_train表示訓(xùn)練值,y_train_pred表示預(yù)測(cè)值。

衡量指標(biāo)中用的比較多的是精確率和召回率,它們的值可以在計(jì)算出混淆矩陣后,按照上圖公式計(jì)算,也可以直接調(diào)用對(duì)應(yīng)的函數(shù)。

from sklearn.metrics import precision_score, recall_score
precision_score(y_train, y_train_pred)
recall_score(y_train, y_train_pred)

其中,precision_score表示精確率,recall_score表示召回率。

F1值

F1值結(jié)合了精確率和召回率,是它們的調(diào)和平均。普通的平均值平等看待所有值,而調(diào)和平均會(huì)給小的值更大的權(quán)重。要想獲得一個(gè)高的F1值,精確率和召回率要同時(shí)高。

圖片

from sklearn.metrics import f1_score
f1_score(y_train, y_train_pred)

精確率和召回率之間存在一種折中關(guān)系,提高精確率會(huì)降低召回率。到底需要較高的精確率還是較高的召回率,不能一概而論,具體場(chǎng)景具體分析。需要找得對(duì)就需要高的精確率,也就是想要的一定是好的;不想把想要的漏掉太多,就需要較高的召回率。

某模型的精確率、召回率與閾值的關(guān)系曲線如下,橫坐標(biāo)表示算法判斷的閾值(大于閾值為正,否則為負(fù)):

from sklearn.metrics import precision_recall_curve
precisions, recalls, thresholds = precision_recall_curve(y_train, y_scores) # y_scores是決策分?jǐn)?shù),不是預(yù)測(cè)值

圖片

從圖中就可以看出精確率和召回率之間的博弈關(guān)系。

仔細(xì)看我們會(huì)發(fā)現(xiàn),召回率曲線比較平滑,而精確率曲線在性能較高時(shí)會(huì)有波動(dòng),這表示提高閾值,精確率并不一定會(huì)提高。

精確率和召回率之間的關(guān)系曲線(PR曲線)如下:

圖片

三、ROC曲線

ROC曲線橫坐標(biāo)為FPR(偽正例率),縱坐標(biāo)為T(mén)PR(真正例率,也即召回率),其中FPR=1-TNR,TNR就是特異性。

from sklearn.metrics import roc_curve
fpr, tpr, thresholds = roc_curve(y_train, y_scores)

圖片

一個(gè)評(píng)估分類器好壞的方法是:計(jì)算ROC曲線下的面積,roc_auc_score()可實(shí)現(xiàn)。面積越大,性能越好,從圖來(lái)看,就是更靠近左上角。(PR曲線應(yīng)該盡可能的靠近右上角)

from sklearn.metrics import roc_auc_score
roc_auc_score(y_train, y_scores)

PR曲線還是ROC曲線?

當(dāng)正例非常少或者你更關(guān)注偽正例(FP)而不是偽反例(FN)時(shí),你應(yīng)該選擇PR曲線, 反之則是ROC曲線。

本文轉(zhuǎn)載自微信公眾號(hào)「且聽(tīng)數(shù)據(jù)說(shuō)」,作者「Bryce」,可以通過(guò)以下二維碼關(guān)注。

轉(zhuǎn)載本文請(qǐng)聯(lián)系「且聽(tīng)數(shù)據(jù)說(shuō)」公眾號(hào)。


責(zé)任編輯:武曉燕 來(lái)源: 且聽(tīng)數(shù)據(jù)說(shuō)
相關(guān)推薦

2010-09-29 09:55:05

光纖

2024-08-23 09:06:35

機(jī)器學(xué)習(xí)混淆矩陣預(yù)測(cè)

2023-09-13 14:45:14

性能測(cè)試開(kāi)發(fā)

2009-03-05 18:16:13

2023-06-02 22:36:02

鴻蒙彈簧動(dòng)畫(huà)曲線

2012-11-22 09:47:34

服務(wù)器虛擬化性能評(píng)估IOPS

2021-07-27 05:53:00

Chrome瀏覽器KPI

2022-11-03 16:28:00

Javascript平滑曲線

2009-11-23 15:41:44

Visual Stud

2016-08-04 16:17:48

虛擬化服務(wù)器性能鑒定

2022-08-12 08:25:13

新興技術(shù)Gartner新興技術(shù)成熟曲線

2022-07-26 15:04:11

表情包卡片JS

2013-01-24 17:18:30

2019-08-15 07:33:09

2021-08-04 09:33:22

Go 性能優(yōu)化

2020-11-17 10:07:06

開(kāi)源starPR

2010-04-02 17:35:21

云計(jì)算

2022-08-12 15:59:18

區(qū)塊鏈加密貨幣系統(tǒng)

2017-09-13 12:10:55

2020-07-09 13:10:42

GIMP曲線文本應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)