模型評價 C index

2022-08-24 15:54:12 字數 1850 閱讀 9207

二、c-index計算

在很多臨床文章中經常看見統計方法裡面描述模型的區分能力(discrimination ability)用c-statistics來度量,下面我們就用r語言為大家演示這個所謂的c-statistics如何計算?本文先講解cox回歸中的c-statistics (一般稱為c-index)的計算,logistic回歸c-statistics計算將在後續文章中介紹。嚴格說來c-index包括以下幾種,我們僅介紹臨床上較為常用的第一種。

1.harrell』s c

2.c-statistic by begg et al.(survauc::beggc)

3.c-statistic by uno et al.(survc1::inf.cval; survauc::unoc)

4.gonen and heller concordance index forcox models (survauc::ghci, cpe::phcpe, clinfun::coxphcpe)

方法1:直接從survival包的函式coxph結果中輸出,需要r的版本高於2.15.需要提前安裝survival包可以看出這種方法輸出了c-index (對應模型引數c),也輸出了標準誤,95%可信區間就可以通過c加減1.96*se得到。並且這種方法也適用於很多指標聯合。

方法2:利用rms包中的cph函式和validate函式,可提供un-adjusted和bias adjusted c指數兩種。

**及**解讀,結果解讀如下:

> # 模擬一組資料並設定為資料框結構

> age

> bp

> d.time

> cens

> death

> os

> sample.data

> head(sample.data) # 展示資料框sample.data的前6行

> # 方法1. 包

> library(survival) # 載入survival包

> fit

> sum.surv

> c_index

> c_index

c      se(c) 

0.53318557 0.02741619 

> #方法2. 包

> library(rms)

> set.seed(1)  # 這裡設定種子,目的是為了能重複最後的結果,因為validate函式的校正結果是隨機的。

> dd

> options(datadist='dd')

> fit.cph

> fit.cph  # 模型引數 dxy*0.5+0.5 即是c-index

> # get the dxy

> v

> dxy = v[rownames(v)=="dxy", colnames(v)=="index.corrected"]

> orig_dxy = v[rownames(v)=="dxy", colnames(v)=="index.orig"]

> # the c-statistic according to dxy = 2(c-0.5)

> bias_corrected_c_index  

> orig_c_index

> bias_corrected_c_index

[1] 0.5152632

> orig_c_index

[1] 0.5331856

模型評價指標

機器學習模型中常見的是分類問題,分類模型的評價指標主要有 1 精確率 2 召回率 3 f值 4 auc值 roc曲線 分類問題可劃分成二分類和多分類問題,其中二分類最為常見,多分類問題大都也是轉化成二分類問題求解,因此本文主要基於二分類模型進行模型評價指標的分析。1 給定標記好的模型訓練資料,經分類...

分類模型的評價

假如某個班級有男生80人,女生20人,共計100人。目標是找出所有女生。現在某人挑選出50個人,其中20人是女生,另外還錯誤的把30個男生也當作女生挑選出來了。評估 evaluation 下他的工作。1 accuracy 準確率 0 1損失。分類器 某人 正確分類的樣本數 總樣本數,即20 50 1...

分類模型的評價

1 二分類模型 指標計算 備註精準率 precision precision tp tp fp 在所有被 為陽性的測試資料中,真正是陽性的比率。越大越好 召回率 recall recall tp tp fn 在所有實際為陽性的測試資料中,真正是陽性的比率。越大越好 f1score f1score 2...