從0開始學習R語言--Day50--ROC曲線

對于已經擬合好的生存模型,我們一般會直接用ROC去評判一下整體的水平,因為很多時候閾值都是我們人為根據實際情況去設定的,這種微調的細節都是在整體模型的擬合程度確定下來后再做的工作。

ROC曲線可以提供給我們模型對于二分類變量的區分能力,而且還可以看到到底是哪些樣本數據被錯誤分類了,能幫助我們確定哪些數據可能有共線性或迷惑性的特征。

以下是一個例子:

# 加載必要的包
library(pROC)
library(ggplot2)# 生成模擬數據集
set.seed(123)
n <- 1000# 生成兩個正態分布的組
group1 <- rnorm(n, mean = 0, sd = 1)  # 負例
group2 <- rnorm(n, mean = 1.5, sd = 1) # 正例# 創建數據框
data <- data.frame(score = c(group1, group2),class = factor(rep(c(0, 1), each = n))
)# 計算ROC曲線
roc_obj <- roc(data$class, data$score)# 獲取AUC值
auc_value <- auc(roc_obj)
cat("AUC值為:", auc_value, "\n")# 找到最佳閾值(根據Youden指數)
best_threshold <- coords(roc_obj, "best", ret = "threshold", best.method = "youden")# 修正后的閾值輸出方式(提取數值部分)
cat("最佳閾值為:", best_threshold$threshold, "\n")# 或者使用更安全的方式
if(!is.null(best_threshold$threshold)) {cat("最佳閾值為:", best_threshold$threshold, "\n")
} else {cat("無法確定最佳閾值\n")
}# 計算所有閾值下的指標
roc_table <- coords(roc_obj, "all", ret = c("threshold", "specificity", "sensitivity", "accuracy"))
head(roc_table)# 繪制ROC曲線
ggroc(roc_obj, color = "blue", size = 1) +geom_abline(intercept = 1, slope = 1, linetype = "dashed", color = "red") +labs(title = paste0("ROC曲線 (AUC = ", round(auc_value, 3), ")"),x = "假正例率 (FPR)", y = "真正例率 (TPR)") +theme_minimal()

輸出:

AUC值為: 0.858621 
最佳閾值為: 0.8868806 0.9051289threshold specificity sensitivity accuracy
1      -Inf       0.000           1   0.5000
2 -2.735349       0.001           1   0.5005
3 -2.652036       0.002           1   0.5010
4 -2.622424       0.003           1   0.5015
5 -2.554809       0.004           1   0.5020
6 -2.486908       0.005           1   0.5025

可以看到,曲線整體偏左上角,符合AUC靠近1的事實,說明模型對于二分類的區分能力較好,給出的最佳閾值雖然不一定準確,但是也接近這個范圍,進一步說明其解釋性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915014.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915014.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915014.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從Hyperliquid到AILiquid:一場從極致性能到策略智能的迭代

在Hyperliquid以極致性能引爆鏈上衍生品交易熱潮之后&#xff0c;DeFi市場正迎來新一輪的范式轉變。作為AI原生的下一代交易平臺&#xff0c;AILiquid正式上線并引發市場廣泛關注。該平臺不僅保留了高頻低延遲的交易體驗&#xff0c;更通過AI撮合引擎與鏈上風險控制系統&#x…

磁懸浮軸承轉子不平衡質量控制:陷波濾波器深度解析

在磁懸浮軸承高速旋轉的世界里&#xff0c;不平衡質量如同一個無形的幽靈&#xff0c;引發危險的同步振動&#xff0c;而陷波濾波器&#xff0c;正是精準捕獲并消除這個幽靈的“電磁獵手”。本文將深入剖析其核心原理與實戰設計。引言&#xff1a;同步振動的致命誘惑磁懸浮軸承…

Oracle 數據庫常見等待事件參數詳解

在 Oracle 數據庫的性能診斷與優化中&#xff0c;等待事件是重要的分析依據&#xff0c;而理解等待事件的參數則是深入排查問題的基礎。本文將結合 Oracle 官方文檔&#xff0c;對數據庫中常見的等待事件參數進行詳細解析&#xff0c;幫助數據庫管理員和開發人員更好地解讀等待…

STM32中的CAN總線詳解:從原理到實戰

前言&#xff1a;為什么CAN總線是嵌入式通信的"硬通貨"&#xff1f; 在嵌入式通信領域&#xff0c;CAN&#xff08;Controller Area Network&#xff09;總線憑借其高可靠性、實時性和多節點通信能力&#xff0c;成為汽車電子、工業控制、智能設備等領域的"標配…

【鴻蒙HarmonyOS】鴻蒙app開發入門到實戰教程(二):封裝自定義可復用組件

組件的可復用性&#xff0c;對我們開發的app質量影響很大&#xff0c;看看鴻蒙中如何封裝這種組件 實現效果代碼實現 局部封裝 Builder titleBuilder(title:string 默認標題) {// Builder裝飾此函數&#xff0c;使其能以鏈式調用的方式配置并構建Text組件Row(){Text(title).fo…

Volo-HTTP 0.4.0發布:正式支持 HTTP/2,客戶端易用性大幅提升!

&#x1f916; VOLO簡介 Volo 是由字節跳動服務框架團隊開源的一款高性能、易用的 Rust RPC 框架。 Volo 框架自身開銷極低&#xff0c;并提供了命令行工具與靈活的中間件設計&#xff0c;讓開發者可以輕松上手&#xff0c;享受 Rust 帶來的開發樂趣。 本文介紹自 Volo-HTTP 0…

HTTP相關知識

文章目錄一、基礎特性與規范二、頁面元素與布局三、交互與表單四、網絡通信基礎流程&#xff08;以瀏覽器訪問網頁為例&#xff09;五、配套技術與工具六、知識關聯圖&#xff08;簡化版&#xff09;一、基礎特性與規范 技術定位&#xff1a;HTML 是前端技術棧的核心標記語言&…

機器人-組成結構

目錄 一、發展歷程 二、軟件硬件算法深讀耦合 感知 - 決策 - 執行 1.機械系統&#xff1a; 2.驅動系統&#xff1a; 3.感知系統&#xff1a; 4.控制系統&#xff1a; 5.決策/智能系統&#xff1a; 6.電源系統&#xff1a; 7.總結 一、發展歷程 國際標準化組織(ISO)對…

pycharm結構查看器

v表示整個文件中定義的變量&#xff0c;c是類灰色部分是繼承的父類的&#xff0c;明亮的是定義的&#xff0c;其中m表示定義的函數&#xff0c;f表示

AdsPower 功能詳解 | 應用中心使用指南:插件統一管理更高效、更安全!

當你使用 AdsPower 管理多個瀏覽器環境時&#xff0c;插件的統一配置就變得尤為重要。而「應用中心」正是幫助你集中管理瀏覽器插件的功能入口&#xff0c;搭配瀏覽器環境使用&#xff0c;可以讓賬號操作更便捷、團隊協作更高效。這篇教程將帶你快速上手 AdsPower 應用中心的核…

回歸預測 | MATLAB實現DBO-BP蜣螂算法優化BP神經網絡多輸入單輸出回歸預測

回歸預測 | MATLAB實現DBO-BP蜣螂算法優化BP神經網絡多輸入單輸出回歸預測 目錄 回歸預測 | MATLAB實現DBO-BP蜣螂算法優化BP神經網絡多輸入單輸出回歸預測 預測效果 基本介紹 主要功能 邏輯關聯與算法流程 1. 數據準備 2. DBO優化BP參數 3. BP神經網絡構建 4. 預測與評估 運行…

Lsposed/Xposed

1.環境 1.1 xposed: 安卓8以下使用 下載并安裝xposed installer&#xff0c;模擬器需勾選設置-共享磁盤。 若提示未激活&#xff0c;需要下載sdk sdk下載地址 放置目錄 /sdcard/Android/data/de.robv.android.xposed.installer/cache/downloads/framework/文件權限設置 777 …

3D工業相機是什么?如何選擇和使用它?

工業自動化越來越深入&#xff0c;3D成像技術&#xff08;3D工業相機&#xff09;在工業生產中越來越重要。這篇文章就來說說3D工業相機的技術原理、具體能應用在哪以及怎么選3D相機&#xff0c;給大家做個參考。一、 技術定義與核心特點3D工業相機&#xff0c;簡單說就是一種特…

有哪些好用的原型設計軟件?墨刀、Axure等測評對比

下面是幾款常用原型設計軟件的簡介和對比&#xff0c;重點對墨刀和Axure進行了測評分析&#xff0c;幫助你根據需求做出選擇。&#x1f4a1;常見原型設計軟件一覽工具名稱適合人群平臺支持是否協作是否支持交互墨刀&#xff08;MockingBot&#xff09;產品經理/團隊協作Web、Wi…

二叉樹思想草稿

二叉樹解體兩種思路 是否可以通過遍歷一遍二叉樹得到答案&#xff1f; 用一個traverse函數配合外部變量實現遍歷的思維模式 是否可以定義一個遞歸函數&#xff0c;通過子樹的答案推導出原問題的答案&#xff1f; 遞歸三部曲&#xff1a; 函數定義&#xff0c;參數&#xff0c;返…

如何區分Bug是前端問題還是后端問題?

在軟件測試中,精準定位Bug的歸屬(前端 or 后端)是高效協作的關鍵。以下是系統化的排查方法,結合技術細節和實戰技巧: 1. 核心判斷邏輯 「數據 vs 展示」二分法: 后端問題:數據本身錯誤(API返回錯誤數據/邏輯錯誤/數據庫問題) 前端問題:數據正確但展示異常(UI渲染錯…

深入解析操作系統中的文件控制塊(FCB):從原理到現代實現演進

一、FCB的核心概念與基礎結構文件控制塊&#xff08;File Control Block, FCB&#xff09;是操作系統管理文件的核心元數據結構&#xff0c;充當文件系統與物理存儲間的橋梁。FCB本質上是文件在內存中的映射&#xff0c;包含文件的所有管理信息。傳統FCB通常占據32-44字節空間&…

python原生處理properties文件

這個工具類使用 Python 的 configparser 模塊操作 .properties 文件&#xff0c;核心是將 .properties 格式適配為 configparser 支持的 .ini 格式。 核心代碼解釋 1. 類初始化與配置解析 class Properties:def __init__(self, file_path: str, encoding: str utf-8):self.fil…

【java 安全】 IO流

前言 IO是指 Input/Output&#xff0c;即輸入和輸出。以內存為中心&#xff1a; Input指從外部讀入數據到內存&#xff0c;例如把文件從磁盤讀取到內存&#xff0c;從網絡讀取數據到內存等等。Output指把數據從內存輸出到外部&#xff0c;例如把數據從內存寫入到文件&#xff0…

音視頻同步技術初剖析:原理、實現與FFmpeg分析

音視頻同步的基本原理 音視頻同步主要依靠以下幾個關鍵點&#xff1a;時間戳機制&#xff1a; 在封裝格式(如MP4)中&#xff0c;音頻幀和視頻幀都帶有時間戳(PTS, Presentation Time Stamp)這些時間戳表示該幀應該在什么時間被呈現同步策略&#xff1a; 音頻為主時鐘&#xff1…