日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分类器评价与在R中的实现:收益图与提升图

發(fā)布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分类器评价与在R中的实现:收益图与提升图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

分類模型評價(jià)一般有以下幾種方法:混淆矩陣(Confusion Matrix)、收益圖(Gain Chart)、提升圖(Lift Chart)、KS圖(KS Chart)、接受者操作特性曲線(ROC Chart)。“分類模型評價(jià)與在R中的實(shí)現(xiàn)”系列中將逐個介紹。

上篇介紹最基礎(chǔ)的混淆矩陣。
本篇介紹收益圖(Gain Chart)與提升圖(Lift Chart)。

一、收益圖/提升圖簡介

回顧上篇,混淆矩陣評價(jià)的是模型在總體樣本的表現(xiàn)。下面介紹的收益/提升圖評估的是模型捕捉到的所有正響應(yīng),對比真實(shí)分類情況的表現(xiàn)。

模型捕捉到的正響應(yīng)是用什么來表示呢?回顧混淆矩陣可組合出的指標(biāo)RPP(Rate of positive predictions) = (TP+FP)/(P+N),正是所有預(yù)測中,預(yù)測為正的比例。根據(jù)不同的閥值,RPP的范圍為[0,1]。自然地,這收益圖/提升圖的公共橫軸為累計(jì)RPP。

縱軸需要評價(jià)模型在預(yù)測為正的事件中,正確的概率。也就是模型的TPR(True Positive Rate),此間的TPR也可稱為收益值(Gain Value)。提升值(Lift Value)則進(jìn)一步考慮了在某個RPP下的TPR的這個相對性概念,用TPR/RPP計(jì)算。

二、在R中計(jì)算收益/提升表、作圖

1 直接計(jì)算

舉一個最簡單的例子說明。還是和上次一樣用ROCR包中的ROCR.simple數(shù)據(jù),為了方便查看,只取前10條。

require(ROCR) data(ROCR.simple) data <- as.data.frame(ROCR.simple)[1:10, ]

按照以下步驟計(jì)算gain/lift值:

  • 按預(yù)測分值對數(shù)據(jù)集排序
  • 用當(dāng)前行號/總行數(shù)當(dāng)做Rate of Positive
  • 計(jì)算TPR
  • 用TPR列與RPP列計(jì)算Lift值
  • data <- data[order(data[, 1], decreasing = TRUE), ] data$rpp <- row(data[, 1, drop = FALSE])/nrow(data) data$target_cum <- cumsum(data[, "labels"]) data$tpr <- data$target_cum/sum(data[, "labels"]) data$lift <- data$tpr/data$rpp data ## predictions labels rpp target_cum tpr lift ## 7 0.9706 1 0.1 1 0.1667 1.6667 ## 8 0.8902 1 0.2 2 0.3333 1.6667 ## 10 0.8688 0 0.3 2 0.3333 1.1111 ## 9 0.7818 1 0.4 3 0.5000 1.2500 ## 1 0.6125 1 0.5 4 0.6667 1.3333 ## 3 0.4321 0 0.6 4 0.6667 1.1111 ## 5 0.3849 0 0.7 4 0.6667 0.9524 ## 2 0.3643 1 0.8 5 0.8333 1.0417 ## 6 0.2444 1 0.9 6 1.0000 1.1111 ## 4 0.1403 0 1.0 6 1.0000 1.0000

    有了如上結(jié)果,將RPP放橫軸,TPR/Lift放縱軸分別畫出收益圖和提升圖。

    par(mfrow = c(1, 2)) plot(data$rpp, data$tpr, type = "l", main = "Gain Chart") plot(data$rpp, data$lift, type = "l", main = "Lift Chart")

    2 用ROCR包畫圖

    用ROCR的prediction()和performance()函數(shù)可以很簡單地將模型結(jié)果轉(zhuǎn)化為評價(jià)可以直接使用的指標(biāo)。這次以ROCR.simple所有數(shù)據(jù)為例。

    require(ROCR) data(ROCR.simple) pred <- prediction(ROCR.simple$predictions, ROCR.simple$labels) par(mfrow = c(1, 2)) gain <- performance(pred, "tpr", "rpp") plot(gain, main = "Gain Chart") lift <- performance(pred, "lift", "rpp") plot(lift, main = "Lift Chart")

    對于收益圖,理想的收益圖應(yīng)快速達(dá)到很高的累計(jì)收益值,并很快趨于100%;理想的提升圖應(yīng)該在很高的提升值上保持一段,或緩慢下降一段,然后迅速下降到1。根據(jù)上面兩個圖,可以做出結(jié)論,如果我們選擇20%的RPP,那么模型的真正率約為35%左右(收益圖),將比不使用任何模型獲得約1.7倍的正回應(yīng)(提升圖)。

    from:?http://iccm.cc/classification-model-evaluation-gain-chart-lift-chart/

    總結(jié)

    以上是生活随笔為你收集整理的分类器评价与在R中的实现:收益图与提升图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。