小编rcs*_*rcs的帖子

关于加快随机森林的建议

我正在使用该randomForest包进行一些工作,虽然它运行良好,但它可能非常耗时.任何人都有加快速度的建议吗?我正在使用带有双核AMD芯片的Windows 7机箱.我知道关于R不是多线程/处理器,但如果任何并行包(的好奇rmpi,snow,snowfall等)工作过randomForest的东西.谢谢.

编辑:

我正在使用rF进行一些分类工作(0和1).数据有大约8-12个可变列,训练集是10k行的样本,因此它的体积适中但不疯狂.我正在运行500棵树和2只,3只或4只.

编辑2:这是一些输出:

> head(t22)
  Id Fail     CCUse Age S-TFail         DR MonInc #OpenLines L-TFail RE M-TFail Dep
1  1    1 0.7661266  45       2 0.80298213   9120         13       0  6       0   2
2  2    0 0.9571510  40       0 0.12187620   2600          4       0  0       0   1
3  3    0 0.6581801  38       1 0.08511338   3042          2       1  0       0   0
4  4    0 0.2338098  30       0 0.03604968   3300          5       0  0       0 …
Run Code Online (Sandbox Code Playgroud)

r random-forest

22
推荐指数
4
解决办法
2万
查看次数

pymc如何代表先前的分布和似然函数?

如果pymc实现Metropolis-Hastings算法从感兴趣的参数中提取后验密度的样本,那么为了决定是否移动到马尔可夫链中的下一个状态,它必须能够评估与后验成比例的事物.所有给定参数值的密度.

后验密度与基于观察数据乘以先前密度的似然函数成比例.

如何在pymc中代表这些?它如何从模型对象计算这些数量?

我想知道是否有人能给我一个关于这种方法的高级描述,或者指出我能找到它的地方.

python bayesian mcmc pymc

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

阻止ggplot2丢弃轴限制之外的数据点?

如果我创建一个线图(例如时间序列)并设置我的轴​​限制,我希望当点超出轴限制时,该线继续离开图,然后返回到下一点的图中在轴限制范围内.现在,似乎ggplot2将完全放弃点并给我一个"错误:"消息.

r ggplot2

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

函数和R中的try()

仍在努力与R,尤其是错误处理:

如果我使用:

result <- try(sqlSave(ch,df,tablename="tblTest"))
Run Code Online (Sandbox Code Playgroud)

我可以用:

if (class(result) != "try-error")
Run Code Online (Sandbox Code Playgroud)

检查是否出了问题.没问题.

但是如果我try与一个函数结合使用它并不像我预期的那样工作:

 result <- try(ch<-odbcConnect("TEST"))
Run Code Online (Sandbox Code Playgroud)

给出"-1"表示result和"整数"表示class(result)

所以我应该使用

ch<-odbcConnect("TEST")
if (ch != -1)
Run Code Online (Sandbox Code Playgroud)

geterrmessage()用于错误消息?

error-handling r

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

逻辑回归 - glm中的cbind命令

我正在做R中的逻辑回归.有人可以澄清运行这两行的区别是什么?

1. glm(Response ~ Temperature, data=temp, 
                    family = binomial(link="logit"))
2. glm(cbind(Response, n - Response) ~ Temperature, 
                    data=temp, family =binomial, Ntrials=n)
Run Code Online (Sandbox Code Playgroud)

数据如下所示:(注意:响应是二进制.0 =死1 =不死)

Response  Temperature
0         24.61
1         39.61
1         39.50
0         22.71
0         21.61
1         39.70
1         36.73
1         33.32
0         21.73
1         49.61
Run Code Online (Sandbox Code Playgroud)

regression r glm

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

R中的回归树

我在R中制作回归树时遇到问题.我有一个包含17个属性的数据框

library(rpart)
rt.model <- rpart(razlika ~ ., learn)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

Error in `[.data.frame`(frame, predictors) : undefined columns selected
Run Code Online (Sandbox Code Playgroud)

看起来很奇怪,因为我用一个非常类似的数据库做了类似的事情.您可以在http://uploading.com/files/de8a966d/exa.Rda/上下载数据帧- 然后加载

load("exa.Rda")
Run Code Online (Sandbox Code Playgroud)

regression r rpart

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

为什么使用数字键进行子集化不适用于data.table

我有一个包含两个数字行的表,其中一行设置为key.我想data.table通过数字键值对我进行子集化,但它似乎不起作用.当我将它转换为字符时,它的工作原理.

你能帮我理解为什么吗?我正在使用data.table 1.8.6.

谢谢一堆.这是测试代码:

> ID <-c(rep(210, 9), rep(3917,6))
> Count <- c(1,1,0,1,1,1,1,1,1,1,1,1,1,0,1)
> x <- data.table(ID, Count)
> 
> # numeric key doesn't work with i argument
> setkey(ID)
 [1]  210  210  210  210  210  210  210  210  210 3917 3917 3917 3917 3917 3917
> x[210,list(ID, Count)]
   ID Count
1: NA    NA
> 
> # create character key
> x$charID <- as.character(x$ID)
> setkey(x, charID)
> x["210",list(ID, Count)]
   charID  ID Count
1:    210 210     1
2: …
Run Code Online (Sandbox Code Playgroud)

r data.table

13
推荐指数
2
解决办法
1386
查看次数

向量化方法,计算向量中左右邻居的均值

我有一个向量

x = c(1820.0, 2235.0, 2534.0, 2580.0, 2322.0, 2317.0, 2331.0, 2345.0, 
      2305.0, 2265.0, 2277.0, 2289.0, 2338.0, 2387.0, 2152.0, 2256.0, 
      2360.0, 2590.0, 2529.0, 2468.0, 2776.0, 2909.0, 3017.0, 3081.0,
      3118.5, 3156.0, 3338.0, 3211.5)
Run Code Online (Sandbox Code Playgroud)

我想计算除边缘以外的每个元素的左右邻居的平均值。例如,结果应如下所示: mean(1820,2534), mean(2235,2580), mean(2534,2322) ...

我可以使用循环来做到这一点,但这很慢。我需要向量化解决方案。

我的代码使用for循环:

neighbour_m = function(x) {
  newx = c(x[length(x)], x, x[1])
  for (i in 2:(length(newx) - 1)){
    m = mean(c(newx[i-1], newx[i+1]))
  }
}
Run Code Online (Sandbox Code Playgroud)

r

13
推荐指数
6
解决办法
1111
查看次数

使用BIC标准运行逐步线性模型

是否可以设置逐步线性模型以使用BIC标准而不是AIC?

我一直在尝试这个,但它仍然使用AIC值而不是BIC计算每一步

null = lm(data[,1] ~ 1)
full = lm(data[,1] ~ age + bmi + gender + group)
step(null, scope = list(lower=null,upper=full),
     direction="both", criterion = "BIC")
Run Code Online (Sandbox Code Playgroud)

r lm

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

ggplot2 aes_string()无法处理以数字开头或包含空格的名称

如果a的列名data.frame以数字开头,或者有空格,则aes_string()无法处理它们:

foo=data.frame("1st Col"=1:5, "2nd Col"=5:1, check.names=F)
bar=colnames(foo)
ggplot(foo, aes_string(x=bar[1],y=bar[2])) + geom_point()
# Error in parse(text = x) : <text>:1:2: unexpected symbol
# 1: 1st
#     ^

foo=data.frame("First Col"=1:5, "Second Col"=5:1, check.names=F)
bar=colnames(foo)
ggplot(foo, aes_string(x=bar[1],y=bar[2])) + geom_point()
# Error in parse(text = x) : <text>:1:7: unexpected symbol
# 1: First Col
#          ^

foo=data.frame("First_Col"=1:5, "Second_Col"=5:1, check.names=F)
bar=colnames(foo)
ggplot(foo, aes_string(x=bar[1],y=bar[2]))+geom_point()
# Now it works
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有没有办法在列名中有空格,或者它们是以数字开头的,我们可以在ggplot2中使用它们吗?请考虑我们可能不知道列名称,因此请避免提供具有常量列名称的示例 - 如下所示:

aes_string(x=`1st Col`, y=`2nd Col`)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

11
推荐指数
3
解决办法
5881
查看次数

标签 统计

r ×9

ggplot2 ×2

regression ×2

bayesian ×1

data.table ×1

error-handling ×1

glm ×1

lm ×1

mcmc ×1

pymc ×1

python ×1

random-forest ×1

rpart ×1