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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ROC 曲线讲解 (Receiver Operarating Curve)

發(fā)布時(shí)間:2024/3/26 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROC 曲线讲解 (Receiver Operarating Curve) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概念

在信號檢測理論中,接收者操作特征曲線receiver operating characteristic curve,或者叫ROC曲線)是一種坐標(biāo)圖式的分析工具,在同一模型中設(shè)置最佳閾值。by Wikipedia

ROC曲線的畫法如下圖所示,每個(gè)點(diǎn)表示不同閾值下 TP(橫坐標(biāo)) FP(縱坐標(biāo))的值,

TP,FP的定義如下

  實(shí)際值
 ture 真的false 假的
預(yù)測值ture 真的TP (true positive)FP (false positive)
false 假的FN (false negative)TN (true negative)

TP rate = TP/(TP+FN),分母就是實(shí)際上是真的那一類,這個(gè)算出來的是預(yù)測的真的占真正的真的改率。我們想要預(yù)測的準(zhǔn)確,這個(gè)應(yīng)該越大越好。

FP rate = FP/(FP+TN),分母就是實(shí)際上假的那一類,這個(gè)算出來的是被錯(cuò)分成真的(其實(shí)是假的)占所有的錯(cuò)的概率,我們希望錯(cuò)分的越小越好,所以這個(gè)值越小越好。


例子

AUC計(jì)算過程:

下面用兩個(gè)正態(tài)分布的例子說明問題,

下圖中左邊藍(lán)色是一類,右邊綠色是一類。

(目的)ROC的作用是找到兩個(gè)類,讓紅色的這條線能夠?qū)深愖詈玫胤珠_。AUC值越大的分類器,正確率越高

(過程)從左到→右移動移動這條紅色的虛線,計(jì)算ROC中的每個(gè)點(diǎn),一個(gè)虛線就是一個(gè)閾值,對應(yīng)的就是ROC上面的一個(gè)點(diǎn),將ROC連成曲線。在這個(gè)圖中已經(jīng)標(biāo)明了TP,FP,TN,FN,可以很方便的計(jì)算出來。

-------------------------------------------------------------------------------------------------------------------------------

我們知道TP rate越大越好,FP rate越小越好。那么畫了ROC之后,怎么判斷哪兩個(gè)類能分的最開呢?怎么找到哪個(gè)閾值最好呢?

下面這張圖畫出了解決辦法。就是算出AUC(Area Under Curve,曲線下的面積),也就是ROC與坐標(biāo)軸形成的面積。

AUC圖反映的是兩個(gè)類的重疊程度,AUC的面積反應(yīng)了分類的好壞。

我們可以看到不同的兩個(gè)分類的AUC截然不同,

第一個(gè)例子:可以分開大多數(shù)點(diǎn),它的AUC在0.9左右

第四個(gè)例子:兩個(gè)類完全重合時(shí),一半的點(diǎn)都會分類錯(cuò)誤,相當(dāng)于沒分,它的AUC是0.5左右。

因此AUC面積越大的分類器的分類效果最好,這樣的分類器在找到閾值后可以有較高的分類正確率。

鏈接: ROC Curves - YouTube

代碼 ROCcurve及AUC

import matplotlib.pyplot as plt import numpy as npdef gauss2D(x, m, C):Ci = np.linalg.inv(C) #求矩陣的逆dC = np.linalg.det(C) #求矩陣的行列式num = np.exp(-0.5 * np.dot((x-m).T, np.dot(Ci,(x-m))))den = 2 * np.pi * (dC**0.5) #計(jì)算矩陣的密度函數(shù)return num/dendef twoDGaussianPlot(nx, ny, m, C):x = np.linspace(-6, 6, nx)y = np.linspace(-6, 6, ny)X, Y = np.meshgrid(x, y, indexing='ij')Z = np.zeros([nx,ny])for i in range(nx):for j in range(ny):xvec = np.array([X[i,j], Y[i,j]])Z[i,j] = gauss2D(xvec, m, C)return X, Y, ZX = np.random.randn(200, 2) C1 = np.array([[2,1],[1,2]]) C2 = np.array([[2,1],[1,2]]) m1 = np.array([0, 3]) m2 = np.array([3,2.5]) A = np.linalg.cholesky(C1)Y1 = X @ A.T + m1 Y2 = X @ A.T + m2plt.figure(1) plt.scatter(Y1[:,0], Y1[:,1], c='c', s=4) plt.scatter(Y2[:,0], Y2[:,1], c='m', s=4)Xp, Yp, Zp = twoDGaussianPlot(40,50,m1,C1) plt.contour(Xp, Yp, Zp, 5)Xp2, Yp2, Zp2 = twoDGaussianPlot(40,50,m2,C2) plt.contour(Xp2, Yp2, Zp2, 5)# uF = [(np.mean(Y1[:,0])+np.mean(Y2[:,0]))/2,(np.mean(Y1[:,1])+np.mean(Y2[:,1]))/2] # uF = np.array([-1,5]) uF = np.array(m1-m2) print(uF) # print(uF.shape) #plt.arrow(0, 0, *(uF), color='b', linewidth=2.0, head_width=0.30, head_length=0.35) plt.arrow(0, 0, uF[0], uF[1], color='b', linewidth=2.0, head_width=0.30, head_length=0.35)plt.axis('equal') plt.grid() plt.xlim([-6,6]) plt.ylim([-5,8])plt.savefig('density graph.png')yp1 = Y1 @ uF yp2 = Y2 @ uFplt.figure(2) plt.rcParams.update({'font.size':16}) plt.hist(yp1, bins=40) plt.hist(yp2, bins=40) plt.savefig('histogramprojections.png')pmin = np.min( np.array( (np.min(yp1), np.min(yp2) ))) pmax = np.max( np.array( (np.max(yp1), np.max(yp2) ))) print(pmin, pmax)nRocPoints = 50 thRange = np.linspace(pmin, pmax, nRocPoints) ROC = np.zeros((nRocPoints, 2))for i in range(len(thRange)):thresh = thRange[i]TP = len(yp2[yp2 > thresh]) * 100/len(yp2)FP = len(yp1[yp1 > thresh]) * 100/len(yp1)ROC[i,:] =[TP, FP]fig, ax = plt.subplots(figsize=(6,6)) ax.plot(ROC[:,0],ROC[:,1], c='m') ax.set_xlabel('False Positive') ax.set_ylabel('True Positive') ax.set_title("Receive Operating Charateristics") ax.grid(True) plt.savefig('rocCure.png')print(np.trapz(ROC[:,1],x=ROC[:,0]))

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

總結(jié)

以上是生活随笔為你收集整理的ROC 曲线讲解 (Receiver Operarating Curve)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 老熟女一区二区三区 | 亚洲精品一二区 | 黄色网炮 | 国产蜜臀在线 | 狠狠爱五月婷婷 | 国产精品手机在线观看 | 澳门一级黄色片 | 性做久久久久久免费观看欧美 | 131mm少妇做爰视频 | 久久精品视频3 | 性爱免费在线视频 | 日本韩国欧美一区二区 | 免费精品视频一区二区三区 | 泰剧19禁啪啪无遮挡 | 日韩三级视频在线 | 美国一区二区三区 | 国产精品88av | 免费观看毛片视频 | av无码精品一区二区三区宅噜噜 | 日本精品黄色 | 住在隔壁的她动漫免费观看全集下载 | 大屁股白浆一区二区三区 | 偷拍欧美另类 | 国内精品久久久久久久久 | 中文字幕第6页 | 欧美精品四区 | av爱爱爱| 精品一区二区久久 | 69国产精品视频 | 草久网 | av片一区二区三区 | 在线观看网页视频 | 强公把我次次高潮hd | 天天成人| 久草青青| 国产精品麻豆一区二区 | 天天干干天天 | 成年人毛片视频 | 好吊妞一区二区三区 | 日韩一区久久 | 日韩一区欧美二区 | 日韩av有码 | 欧美大片www | 91影院在线播放 | 青青草91久久久久久久久 | 欧美日韩成人一区 | 91大神在线免费观看 | 女女高潮h冰块play失禁百合 | 亚洲国产精品尤物yw在线观看 | 天天干天天看 | 国产亚洲欧美在线视频 | 欧美亚洲一级 | 久操视频在线观看免费 | 午夜在线观看视频网站 | 人人干人人舔 | 欧美一级影院 | 无码人妻久久一区二区三区不卡 | 日本免费看 | 天使色吧 | 屁屁影院一区二区三区 | 好吊视频一区二区三区 | 人妻激情文学 | 毛片大全免费看 | 一级特黄a大片免费 | 日本精品一区二区视频 | 久久久久久久久久久久久久 | 国产精品国产三级国产a | 欧美日韩一区视频 | 精品久久久噜噜噜久久久 | 美脚の诱脚舐め脚视频播放 | 国内成人免费视频 | 日韩孕交| 波多野结衣视频免费看 | 不卡在线一区二区 | 女的高潮流时喷水图片大全 | av网址免费 | 欧美一区影院 | 波多野42部无码喷潮在线 | 91蜜桃网站 | 男男免费视频 | 亚洲瑟瑟 | 欧美日日 | 夜夜春很很躁夜夜躁 | 久久久久国产一区二区三区潘金莲 | 丁香免费视频 | 成人美女在线 | 宿舍女女闺蜜调教羞辱 | 国产字幕在线观看 | 成人不卡 | 亚洲在线中文字幕 | 一区二区三区精品国产 | 精品自拍视频在线观看 | 亚洲精品福利 | 亚洲色图2| 国产精品播放 | 国产高清在线观看视频 | 放荡的美妇在线播放 | 黄色片aaaa | 无码精品一区二区免费 |