首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >caret:使用RFE时出现"Some row.names duplicated“警告

caret:使用RFE时出现"Some row.names duplicated“警告
EN

Stack Overflow用户
提问于 2015-11-10 19:22:00
回答 1查看 534关注 0票数 2

我正在基于这个paper的第5页中的线性问题构建一个玩具数据集,以便使用带rbf内核的插入符号RFE+SVM测试特征选择。但是,当RFE完成时,我在每次引导迭代时都会收到一条警告,消息如下:"In data.row.names( row.names,rowsi,i):some row.names duplicated:“后面跟着许多行号,直到输出被截断。

这是因为bootstrap可能会选择带有替换的样本,从而复制引导数据中的行,还是存在其他问题?感谢您的建议(请原谅人工数据集的懒惰实现)。

代码语言:javascript
复制
library(caret)

################
# 1. Building dataset
################
set.seed(1)
n.samples <- 500
y <- round(runif(n = n.samples, min=0, max=1))
data <- matrix(nrow=n.samples, ncol=202)

for(i in 1:n.samples){
  toss <- runif(n=1, min=0, max=1)
  if(toss <= 0.7) {
    for(j in 1:3){
      data[i,j] <- y[i]*rnorm(n = 1, mean = i, sd = 1)
    }

    for(j in 4:6){
      data[i,j] <- rnorm(n = 1, mean = 0, sd = 1)
    }
  } else {
    for(j in 1:3){
      data[i,j] <- rnorm(n=1, mean=0, sd=1)
    }

    for(j in 4:6){
      data[i,j] <- y[i]*rnorm(n=1, mean=i-3, sd = 1) 
    }
  }

  for(j in 7:202){
    data[i,j] <- rnorm(n = 1, mean = 0, sd = 20)
  }
}

colnames(data) <- c(paste("s", 1:6, sep = ""), paste('ns', 7:202, sep=''))
rownames(data) <- paste('sample', 1:n.samples, sep='')

################
# 2. Perform SVM - RFE
################
set.seed(1)

rfe.control.settings <- rfeControl(functions = caretFuncs,
                                   method = 'boot',
                                   number = 30,
                                   verbose = TRUE)

svm.fit <- rfe(x=data, 
               y=y,
               sizes=c(1,2,3,4),
               rfeControl = rfe.control.settings,
               method = 'svmRadial') #passing options to train / caretFuncs
EN

回答 1

Stack Overflow用户

发布于 2016-03-04 00:09:11

我也面临着同样的问题,解决这个问题的方法是将数据类从matrix更改为data.frame

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33628832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档