二、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...