标签: model-comparison

Precision-Recall曲线的阈值是多少?

我知道Precision的概念以及Recall的概念.但我发现很难理解"阈值"的概念,它可以使任何PR曲线成为可能.

想象一下,我有一个模型可以预测患者在相关特征上使用一些不错的分类算法来重现(是或否)癌症.我将数据拆分用于培训和测试.假设我使用列车数据训练模型,并使用测试数据获得我的精确度和召回度量.

但我现在如何绘制PR曲线?在什么基础上?我只有两个值,一个精度和一个召回.我读到它的"阈值",它允许你获得几个精确回忆对.但那个门槛是多少?我还是初学者,我无法理解门槛的概念.

我在如此多的分类模型比较中看到,如下所示.但他们如何得到那么多对呢?

使用精确回忆曲线的模型比较

classification machine-learning auc precision-recall model-comparison

18
推荐指数
1
解决办法
9396
查看次数

计算R中的核岭回归用于模型选择

我有一个数据帧 df

df<-structure(list(P = c(794.102395099402, 1299.01021921817, 1219.80731174175, 
1403.00786976395, 742.749487463385, 340.246973543409, 90.3220586792255, 
195.85557320714, 199.390867672674, 191.4970921278, 334.452413539092, 
251.730350291822, 235.899165861309, 442.969718728163, 471.120193046119, 
458.464154601097, 950.298132134912, 454.660729622624, 591.212003320456, 
546.188716055825, 976.994105334083, 1021.67000560164, 945.965200876724, 
932.324768081307, 3112.60002304117, 624.005047807736, 0, 937.509240627289, 
892.926195849975, 598.564015734103, 907.984807726741, 363.400837339461, 
817.629824627294, 2493.75851182081, 451.149000503123, 1028.41455932241, 
615.640039284434, 688.915621065535, NaN, 988.21297, NaN, 394.7, 
277.7, 277.7, 492.7, 823.6, 1539.1, 556.4, 556.4, 556.4), T = c(11.7087701201175, 
8.38748953516909, 9.07065637842101, 9.96978059247473, 2.87026334756687, 
-1.20497751697385, 1.69057148825093, 2.79168506923385, -1.03659741363293, 
-2.44619473778322, -1.0414166493637, -0.0616510891024765, -2.19566614081763, 
2.101408628412, 1.30197334094966, 1.38963309876057, 1.11283280896495, 
0.570385633957982, 1.05118063842584, 0.816991857384802, 8.95069454902333, 
6.41067954598958, 8.42110173395973, 13.6455092557636, …
Run Code Online (Sandbox Code Playgroud)

regression r model-comparison

9
推荐指数
1
解决办法
2182
查看次数

glmmLasso中随机效应的结构

我想对一组360个观测值进行约150个固定效果变量和7个随机效果变量之间的模型选择。我决定将gla​​ssoLasso与Lasso过程一起用于混合模型。我没有进行大量研究,无法找到可比模型的一些例子,但没有成功。这是我的数据样本:

    > str(RHI_12)
'data.frame':   350 obs. of  164 variables:
 $ RHI_counts_12   : int  0 14 1 3 2 2 2 0 0 1 ...
 $ Site        : Factor w/ 6 levels "14_metzerlen",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ Location             : Factor w/ 30 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Dist_roost      : num  0.985 0.88 0.908 0.888 0.89 ...
 $ Natural_light   : num  -0.194 -0.194 -0.194 -0.194 …
Run Code Online (Sandbox Code Playgroud)

random effects lasso-regression model-comparison

5
推荐指数
0
解决办法
600
查看次数

AIC在biglm和lm之间有所不同

我一直在尝试使用biglm在大型数据集上运行线性回归(大约60,000,000行).我想使用AIC进行模型选择.但是我发现在较小的数据集上使用biglm时,biglm返回的AIC变量与lm返回的变量不同.这甚至适用于biglm帮助中的示例.

data(trees)
ff<-log(Volume)~log(Girth)+log(Height)

chunk1<-trees[1:10,]
chunk2<-trees[11:20,]
chunk3<-trees[21:31,]

library(biglm)
a <- biglm(ff,chunk1)
a <- update(a,chunk2)
a <- update(a,chunk3)

AIC(a)#48.18546

a_lm <- lm(ff, trees)
AIC(a_lm)#-62.71125
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这里发生了什么吗?使用biglm生成的AIC是否可以安全地用于比较同一数据集上的biglm模型?

r lm model-comparison

5
推荐指数
1
解决办法
678
查看次数

疏浚中的子集(MuMIn) - 如果存在主要影响,则必须包括交互

我正在做一些探索工作,我使用挖泥机{MuMIn}.在这个过程中,我想设置两个变量,只有当它们之间的相互作用存在时,它们才能被允许在一起,即它们不能仅作为主效应一起存在.

使用样本数据:我想挖掘模型fm1(不管它可能没有意义).如果变量GNP和Population一起出现,它们还必须包括它们之间的相互作用.

require(stats); require(graphics)
## give the data set in the form it is used in S-PLUS:
longley.x <- data.matrix(longley[, 1:6])
longley.y <- longley[, "Employed"]
pairs(longley, main = "longley data")
names(longley)
fm1 <- lm(Employed ~GNP*Population*Armed.Forces, data = longley)
summary(fm1)
dredge(fm1, subset=!((GNP:Population) & !(GNP + Population)))
dredge(fm1, subset=!((GNP:Population) && !(GNP + Population)))

dredge(fm1, subset=dc(GNP+Population,GNP:Population))
dredge(fm1, subset=dc(GNP+Population,GNP*Population))
Run Code Online (Sandbox Code Playgroud)

我如何指明dredge()它应该忽略所有存在GNP和人口的模型,而不是它们之间的相互作用?

variables regression r linear-regression model-comparison

3
推荐指数
1
解决办法
3249
查看次数

如何循环遍历多个模型以放入 R 中的列表

我有 117 个模型,分别命名为 m1、m2、m3、...、m117。我需要使用 MuMIn 包中的 model.sel 比较他们的 AIC。模型比较的语法是 model.sel(object, ...) 其中对象是模型列表。因此,我尝试创建一个循环来将所有 117 个模型读入一个列表:

list<-list()

for (i in 1:117)

  {
  list[[i]]<- cat(paste("f",i))
  }
Run Code Online (Sandbox Code Playgroud)

然而,我所拥有的只是

f 1f 2f 3f 4f 5f 6f 7f 8f 9f 10f 11f 12f 13f 14f 15f 16f 17f 18f 19f 20f 21f 22f 23f 24f 25f 26f 27f 28f 29f 30f 31f 32f 33f 34f 35f 36f 37f 38f 39f 40f 41f 42f 43f 44f 45f 46f 47f 48f 49f 50f 51f 52f 53f 54f 55f …
Run Code Online (Sandbox Code Playgroud)

loops r list model-comparison

3
推荐指数
1
解决办法
2843
查看次数

AIC on Nls on R

我有一个问题来计算AIC.实际上,我估计了我的3个模型的参数:"mod_linear",它是线性模型,"mod_exp"和"mod_logis"是两个非线性模型.

我使用了函数AIC():

AIC(mod_linear,mod_exp,mod_logis)

          df        AIC
mod_linear  4   3.015378
mod_exp     5 -11.010469
mod_logis   5  54.015746
Run Code Online (Sandbox Code Playgroud)

但我试图用公式AIC = 2k + nlog(RSS/n)来计算AIC,其中K是参数的数量,n是样本的数量,RSS是剩余的平方和.

k=4
n=21
#Calcul of nls for the linear model:
mod_linear=nls(data$P~P_linear(P0,K0,a),data=data,
start=c(P0=4.2,K0=4.5,a=0.)

2*k+n*log(sum(residuals(mod_linear)^2)/n)
-56.58004
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,结果并不相同,而其他两个模型也是如此.有人可以帮帮我吗?

问候

r nls model-comparison

1
推荐指数
1
解决办法
1185
查看次数