小编jmu*_*amp的帖子

重命名pandas中的列

我有一个使用pandas和列标签的DataFrame,我需要编辑它来替换原始列标签.

我想更改A原始列名称所在的DataFrame 中的列名:

['$a', '$b', '$c', '$d', '$e'] 
Run Code Online (Sandbox Code Playgroud)

['a', 'b', 'c', 'd', 'e'].
Run Code Online (Sandbox Code Playgroud)

我将已编辑的列名存储在列表中,但我不知道如何替换列名.

python replace rename dataframe pandas

1601
推荐指数
32
解决办法
237万
查看次数

计算记录数并在data.table中生成每个组内的行号

我有以下data.table

set.seed(1)
DT <- data.table(VAL = sample(c(1, 2, 3), 10, replace = TRUE))
    VAL
 1:   1
 2:   2
 3:   2
 4:   3
 5:   1
 6:   3
 7:   3
 8:   2
 9:   2
10:   1
Run Code Online (Sandbox Code Playgroud)

VAL我希望的每个数字:

  1. 计算记录/行数
  2. 创建第一次,第二次,第三次出现的行索引(计数器).

最后我想要结果

    VAL COUNT IDX
 1:   1     3   1
 2:   2     4   1
 3:   2     4   2
 4:   3     3   1
 5:   1     3   2
 6:   3     3   2
 7:   3     3   3
 8:   2     4   3
 9:   2     4 …
Run Code Online (Sandbox Code Playgroud)

r data.table

56
推荐指数
1
解决办法
4万
查看次数

将滞后变量添加到lm模型中?

我在时间序列中使用lm,实际上运行得非常好,并且它超级超级快.

假设我的模型是:

> formula <- y ~ x
Run Code Online (Sandbox Code Playgroud)

我在训练集上训练这个:

> train <- data.frame( x = seq(1,3), y = c(2,1,4) )
> model <- lm( formula, train )
Run Code Online (Sandbox Code Playgroud)

......我可以预测新数据:

> test <- data.frame( x = seq(4,6) )
> test$y <- predict( model, newdata = test )
> test
  x        y
1 4 4.333333
2 5 5.333333
3 6 6.333333
Run Code Online (Sandbox Code Playgroud)

这非常好用,而且速度非常快.

我想将滞后变量添加到模型中.现在,我可以通过扩充我原来的训练集来做到这一点:

> train$y_1 <- c(0,train$y[1:nrow(train)-1])
> train
  x y y_1
1 1 2   0
2 2 1   2
3 3 4 …
Run Code Online (Sandbox Code Playgroud)

r lm

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

使用results ='asis'以编程方式将标题和绘图插入到具有R markdown的相同代码块中

results = 'asis'Rmarkdown中的块选项允许用户轻松动态创建包括标题的文本.但是,我希望动态创建带有该asis选项的标头,但随后在相同的代码块中插入一些图形.

我能找到的最相关的答案是:以编程方式插入带有R markdown的文本,标题和列表,但这个问题的答案不允许这些动态标题中的动态标题和图表.

这是一个简单的可重复的例子,展示了我能够和不能实现的目标 results = 'asis'

下面的代码完成了我的预期,为每个Species创建一个标头.

---
output: html_document
---
```{r echo = FALSE, results ='asis'}
for(Species in levels(iris$Species)){
  cat('#', Species, '\n')
}
```
Run Code Online (Sandbox Code Playgroud)

这里的代码直接放在我想要的地方.理想情况下,下面的代码会为每个Species生成一个标题,每个标题下面都有一个图.相反,它会setosa在输出文件中生成单个标头,然后是三个图.

---
output: html_document
---
```{r echo = FALSE, results ='asis'}
library(ggplot2)
for(Species in levels(iris$Species)){
  cat('#', Species, '\n')
  p <- ggplot(iris[iris$Species == Species,], aes(x = Sepal.Length, y = Sepal.Width)) +
    geom_point()
  print(p)
}
```
Run Code Online (Sandbox Code Playgroud)

有没有办法在每个标题下动态生成3个标题?

plot r ggplot2 knitr r-markdown

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

update()具有局部协变量的函数内的模型

我需要从函数内部更新回归模型.理想情况下,该功能应该与任何类型的模型(工作lm,glm,multinom,clm).更准确地说,我需要添加一个或几个在函数内定义的协变量.这是一个例子.

MyUpdate <- function(model){
     randData <- data.frame(var1=rnorm(length(model$residuals)))
     model2 <- update(model, ".~.+randData$var1")
     return(model2)
}
Run Code Online (Sandbox Code Playgroud)

这是一个示例用法

data(iris)
model1 <- lm(Sepal.Length~Species, data=iris)
model2 <- MyUpdate(model1)
Run Code Online (Sandbox Code Playgroud)

eval(expr,envir,enclos)出错:找不到对象'randData'

这是glm的另一个例子

model1 <- glm(Sepal.Length>5~Species, data=iris, family=binomial)
model2 <- MyUpdate(model1)
Run Code Online (Sandbox Code Playgroud)

任何的想法?

r lm glm

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

插入符号 - 调整参数网格应该有列mtry

我正在使用此代码:

    mtry <- round(sqrt(18), 0)

gbmGrid <- expand.grid(
              interaction.depth = c(1, 2, 3, 4, 5, 6)
            , n.trees = seq(10, 10000, by = 100)
            , shrinkage = 0.01
            , n.minobsinnode = c(5, 10, 20, 30)
            , distribution = 'gaussian'
            , method = 'gbm'
            , mtry = mtry
    )

    fitControl <- trainControl(
                method = "repeatedcv"
                , number = 2
                , repeats = 3
        )

    gbmFit1 <- train(

                     Y ~

                      X1
                    + X2

                    , data = Train

                    , trControl = fitControl
                    , …
Run Code Online (Sandbox Code Playgroud)

r r-caret

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

使用插入符号训练模型时,行搜索失败

我正在使用插入符号中的train函数来训练SVM,使用svmRadial内核进行二进制分类任务.

当我在我的数据上运行train函数时,我逐渐得到这些消息

line search fails -2.13865 -0.1759025 1.01927e-05 3.812143e-06 -5.240749e-08 -1.810113e-08 -6.03178e-13line search fails -0.7148131 0.1612894 2.32937e-05 3.518543e-06 -1.821269e-08 -1.37704e-08 -4.726926e-13

代码完成后(编译/运行?)我也收到了以下警告:

    > warnings()
Warning messages:
1: In method$predict(modelFit = modelFit, newdata = newdata,  ... :
  kernlab class prediction calculations failed; returning NAs
2: In method$prob(modelFit = modelFit, newdata = newdata,  ... :
  kernlab class probability calculations failed; returning NAs
3: In data.frame(..., check.names = FALSE) :
  row names were found from a short variable and have been discarded
4: …
Run Code Online (Sandbox Code Playgroud)

r machine-learning svm r-caret

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

插入火车功能 - 无法找到变量"optimismBoot"

我是R和RStudio的新手,并且一直在尝试预测建模.以下列车功能在没有并行处理的情况下工作,但是当我实现doSNOW makeCluster时,我得到下面显示的与名为"optimismBoot"的变量相关的错误.我试图找到一个解决方案,尝试安装和卸载软件包,但没有任何作用.有任何见解赞赏.

 cl <- makeCluster(2, type = "SOCK")

 registerDoSNOW(cl)

 caret.cv <- train(ReturnedToMF ~ .,
                       data = trees.cetstrain,
                       method = "xgbTree",
                       tuneGrid = tune.grid,
                       trControl = cetstrain.control)
Error in e$fun(obj, substitute(ex), parent.frame(), e$data) : 
  unable to find variable "optimismBoot"
Run Code Online (Sandbox Code Playgroud)

我在这个网站上找到了以下链接,但它并没有提供使并行处理工作的解决方案:Caret on R溢出"无法找到变量"optimismBoot""错误消息

parallel-processing r r-caret

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

使用 F1 指标在插入符中训练模型

我正在尝试将随机森林模型拟合到我的数据集,并且我想根据 F1 分数选择最佳模型。我在这里看到一篇文章描述了必要的代码。我尝试复制代码,但收到错误

“{ 中的错误:任务 1 失败 -”找不到函数“F1_Score”

当我运行火车功能时。(仅供参考,我试图预测的变量(“通过”)是一个两类因素“失败”和“通过”)

请参阅下面的代码:

library(MLmetrics)
library(caret)
library(doSNOW)

f1 <- function(data, lev = NULL, model = NULL) {
  f1_val <- F1_Score(y_pred = data$pred, y_true = data$obs, positive = lev[1])
  c(F1 = f1_val)
}



train.control <- trainControl(method = "repeatedcv",
                              number = 10,
                              repeats = 3,
                              classProbs = TRUE,
                              summaryFunction = f1,
                              search = "grid")


tune.grid <- expand.grid(.mtry = seq(from = 1, to = 10, by = 1))


cl <- makeCluster(3, type = "SOCK")
registerDoSNOW(cl) …
Run Code Online (Sandbox Code Playgroud)

r r-caret

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

Caret method = "rf" 警告消息:无效 ## mtry:重置到有效范围内

我正在从事 Coursera 机器学习项目。目标是对以下数据集执行预测建模。

> summary(training)
   roll_belt        pitch_belt          yaw_belt       total_accel_belt  gyros_belt_x      
 Min.   :-28.90   Min.   :-55.8000   Min.   :-180.00   Min.   : 0.00    Min.   :-1.040000  
 1st Qu.:  1.10   1st Qu.:  1.7600   1st Qu.: -88.30   1st Qu.: 3.00    1st Qu.:-0.030000  
 Median :113.00   Median :  5.2800   Median : -13.00   Median :17.00    Median : 0.030000  
 Mean   : 64.41   Mean   :  0.3053   Mean   : -11.21   Mean   :11.31    Mean   :-0.005592  
 3rd Qu.:123.00   3rd Qu.: 14.9000   3rd Qu.:  12.90   3rd Qu.:18.00    3rd Qu.: 0.110000  
 Max.   :162.00   Max.   : 60.3000   Max. …
Run Code Online (Sandbox Code Playgroud)

r random-forest r-caret

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