小编And*_*rew的帖子

计算R中的AUC?

给定分数向量和实际类标签的向量,如何计算R语言或简单英语中二进制分类器的单数AUC度量?

"AUC:一个更好的测量......"的第9页似乎需要知道类标签,这里是MATLAB中我不明白的例子

R(Actual == 1))
Run Code Online (Sandbox Code Playgroud)

因为R(不要与R语言混淆)被定义为向量但是用作函数?

r machine-learning data-mining auc

42
推荐指数
7
解决办法
9万
查看次数

ggplot:两组的相对频率

我想要一个这样的情节,除了每个方面总和达到100%.现在组M是0.05 + 0.25 = 0.30而不是0.20 + 0.80 = 1.00.

df <- rbind(
    data.frame(gender=c(rep('M',5)), outcome=c(rep('1',4),'0')),
    data.frame(gender=c(rep('F',10)), outcome=c(rep('1',7),rep('0',3)))
)

df

ggplot(df, aes(outcome)) +
    geom_bar(aes(y = (..count..)/sum(..count..))) +
    facet_wrap(~gender, nrow=2, ncol=1) 
Run Code Online (Sandbox Code Playgroud)

(使用y = ..density ..会产生更糟糕的结果.)

r ggplot2

6
推荐指数
2
解决办法
8445
查看次数

使用 foreach 和 %dopar% 将列添加到数据框

在 Windows 7 和 Ubuntu 64 位 11.04 上的 Revolution R 2.12.2 中,我有一个超过 100K 行和 100 多列的数据框,并且我为每个原始列派生了 ~5 列(sqrt、log、log10 等)并将它们添加到同一个数据框中。如果没有使用 foreach 和 %do% 的并行性,这可以正常工作,但速度很慢。当我尝试将它与 foreach 和 %dopar% 并行化时,它不会访问全局环境(以防止竞争条件或类似情况),因此我无法修改数据框,因为“未找到”数据框对象。

我的问题是我怎样才能让它更快?换句话说,如何并行化列或转换?

简化示例:

require(foreach)    
require(doSMP)
w <- startWorkers()
registerDoSMP(w)

transform_features <- function()
{    
    cols<-c(1,2,3,4) # in my real code I select certain columns (not all)

    foreach(thiscol=cols, mydata) %dopar% { 
        name <- names(mydata)[thiscol]
        print(paste('transforming variable ', name))
        mydata[,paste(name, 'sqrt', sep='_')] <<- sqrt(mydata[,thiscol])
            mydata[,paste(name, 'log', sep='_')] <<- log(mydata[,thiscol])
    }
}


n<-10 # I …
Run Code Online (Sandbox Code Playgroud)

parallel-processing performance foreach r

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

视图源:URL上的“错误:该选项卡缺少主机权限”

我将扩展名重写为Firefox和Google Chrome的WebExtensions,并且对HTTP / HTTPS正常运行。但是,它不再适用于使用该view-source:方案的URL 。(这些URL是由CTRL + U显示的网页的HTML源代码。)

Firefox 57出现此错误

错误:该标签缺少主机权限

Google Chrome 62显然没有任何作用。

没有有关视图源方案的文档。有没有办法为视图源启用扩展?

google-chrome-extension firefox-addon-webextensions

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

布尔向量的随机样本

我有一个vi带有布尔值的输入向量。我想n从值为 true 的向量中随机抽取一个大小样本,因此最终向量vf具有这些属性

  1. 向量的长度相等 length(vf) == length(v0)

  2. vfn真值 n==sum(vf)

  3. 中的真值vf不能大于v0 n <= sum(v0) 中的值

  4. 中的所有真值vfvi

向量表示数据框中的行选择,这实现了分层样本。到目前为止,我想出了如何使用which()获取行号,使用sample()获取随机样本,但最后一部分是重新创建布尔向量。可能有更优雅的方式吗?

例如:

n <- 1

v0 <- c(T,T,F,F)

vf <- c(T,F,F,F)

r

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