我有svmlight的輸出,其中x =預測(0.1,-0.6,1.2,-0.7 ...),y =實際的類{+ 1,-1}。我想爲10個特定的不同閾值創建ROC曲線(讓t爲包含10個不同閾值的矢量)。我檢查了ROCR軟件包,但我沒有看到提供閾值向量的任何選項。我需要爲每個閾值和繪圖計算TPR和FPR。有沒有其他方法可以做到這一點?我是R編程新手。從10個不同的閾值創建ROC
1
A
回答
2
ROCR通過將TPR和FPR繪製成許多不同的閾值來創建ROC曲線。這可以通過一組預測和標籤來完成,因爲如果觀察被分類爲對於一個閾值爲正,則它也將在較低閾值處被分類爲正。我發現this paper有助於更詳細地解釋ROC曲線。
在ROCR以下,其中x是預測的矢量,y是類標籤的載體可以創建情節:
pred <- prediction(x,y)
perf <- performance(pred,"tpr","fpr")
plot(perf)
如果你想訪問與相關聯的TPR和FPR所有閾值,可以檢查性能對象「PERF」:
str(perf)
以下的答案必須展示如何獲得更詳細的臨界值:
1
您可以使用pROC
包執行此操作。首先創建ROC曲線(對於所有閾值):
myROC <- roc(y, x) # with the x and y you defined in your question
然後查詢該曲線爲10(或任意數量的)閾值,你保存在t
:
coords(myROC, x = t, input="threshold", ret = c("threshold", "se", "sp"))
靈敏度是你的TPR,而特異性是您的FPR。
聲明:我是pROC的作者。
相關問題
- 1. 從ROC曲線獲取閾值
- 2. 創建10個不同的隨機數
- 3. Log4J不同閾值的多個appenders
- 4. 如何創建圖像的閾值?
- 5. 如何在高圖中創建閾值
- 6. 我如何創建與highcharts閾值圖
- 7. 複製R和matlab導致從ROC曲線中找到最佳閾值
- 8. 矩陣中的不同閾值
- 9. 構建FAR和FRR值的ROC曲線
- 10. 如何使用SAS的預測值在R中創建ROC?
- 11. OpenCV閾值與預期不同
- 12. 從gridview創建一個不同值的列表
- 13. HighCharts 3.0中的兩個不同的閾值
- 14. 創建相同的密鑰值不同
- 15. SQL查詢:從某個閾值
- 16. 用不同的值創建一個模塊的幾個實例
- 17. 爲Windows 10應用創建同意UI
- 18. 如何創建一個程序,以從一個模板中創建具有不同值的多個文件?
- 19. 創建基於不同的價值
- 20. 閾值?
- 21. BayesShrink的閾值
- 22. 創建兩個不同表
- 23. 根據R中的閾值創建子集
- 24. 從兩個不同的值創建一個公用密鑰,無視順序
- 25. R - 從不同的行值創建單獨的列
- 26. 用ggplot2繪製多個ROC曲線在不同的層
- 27. SharePoint 2010 - 列表視圖閾值:什麼不觸發閾值?
- 28. 10個webworkers創建,但只有9個返回值
- 29. 從不同表中的值創建mySQL UPDATE語句
- 30. 從不同長度和值的數組創建表php
我也對如何在pred中設置閾值感到茫然。我嘗試了一種天真的方法,這並不奇怪,沒有工作:pred <-prediction(x,y,alpha.values = c(0.0,0.05,0.1,0.15,0.2,0.25,0.3))我有兩個預測系統,但其中一個會產生一致的不同數字,所以我需要強制ROCR將相同的閾值應用於兩個預測系統。有沒有人做過這個? –