我试图找到 R 函数来计算 R 中的基尼系数和 AUC。我找到了包ROCR
和MLmetrics
. 通常您可以通过以下方式在 AUC 和 Gini 之间切换
基尼= 2 AUC -1
在以下示例中,这适用于 2 个解释变量的情况,但不适用于只有一个变量的情况。
这是包装中的缺陷吗?
library(ROCR)
library(MLmetrics)
data(cars)
## 2 explanatory variables
logreg <- glm(vs ~ hp + wt,
family = binomial(link = "logit"), data = mtcars)
pred = prediction(logreg$fitted.values, mtcars$vs)
auc_perf = performance( pred, measure = "auc" )
## both lines give 0.8968254
2*auc_perf@y.values[[1]]-1
Gini(y_pred = logreg$fitted.values, y_true = mtcars$vs)
plot( performance( pred, "tpr", "fpr" ) )
## 1 explanatory variable
logreg <- glm(vs ~ hp ,
family = binomial(link = "logit"), data = mtcars)
pred = prediction(logreg$fitted.values, mtcars$vs)
auc_perf = performance( pred, measure = "auc" )
## different results:
2*auc_perf@y.values[[1]]-1
Gini(y_pred = logreg$fitted.values, y_true = mtcars$vs)
plot( performance( pred, "tpr", "fpr" ) )
会话信息是:
R 版本 3.4.3 (2017-11-30) 平台:x86_64-w64-mingw32/x64 (64-bit) 运行于:Windows 7 x64 (build 7601) Service Pack 1
矩阵产品:默认
语言环境:[1] LC_COLLATE=German_Austria.1252 LC_CTYPE=German_Austria.1252 [3] LC_MONETARY=German_Austria.1252 LC_NUMERIC=C [5] LC_TIME=German_Austria.1252
附加的基础包:[1] stats graphics grDevices utils
datasets methods base其他附加包:[1] MLmetrics_1.1.1 ROCR_1.0-7
gplots_3.0.1通过命名空间加载(未附加):[1] compiler_3.4.3
tools_3.4.3 KernSmooth_2.23-15 gdata_2.18.0 [5] caTools_1.17.1 bitops_1.0-6 pacman_0.4.6 gtools_3.5.0