首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SMOTE在R中调试插入符号

用SMOTE在R中调试插入符号
EN

Stack Overflow用户
提问于 2017-11-30 18:20:17
回答 1查看 1.1K关注 0票数 3

我试图在SMOTE中的trainControl函数中使用caret中的trainControl。在作者的示例之后,我做了以下工作:

代码语言:javascript
复制
#first, create an imbalanced data set
set.seed(2969)
imbal_train <- twoClassSim(10000, intercept = -20, linearVars = 20)
imbal_test  <- twoClassSim(10000, intercept = -20, linearVars = 20)

table(imbal_train$Class)
Class1 Class2 
 9411    589

我想使用SMOTE算法对我的少数类进行过采样。不过,这项工作必须小心进行。例如,在进行交叉验证之前,我们不应该过采样。这将导致我们乐观的泛化错误。

代码语言:javascript
复制
#create my folds (5 in this case)
folds <- createFolds(factor(imbal_train$Class), k = 5, list = TRUE,returnTrain=TRUE)

#trainControl to set up my training phase.
ctrl <- trainControl(method = "cv", index = folds,
                 classProbs = TRUE,
                 summaryFunction = twoClassSummary,
                 savePredictions = "all",
                 ## new option here:
                 sampling = "smote")

#train the model
set.seed(5627)
smote_inside <- train(Class ~ ., data = imbal_train,
                  method = "treebag",
                  nbagg = 50,
                  metric = "ROC",
                  trControl = ctrl)

它运行时没有错误。现在,我希望看到在每次迭代中使用的培训和测试集。我需要确保在过度取样培训文件夹之前,有一个文件夹被保存,并且没有在其中创建新的合成记录。

查看train输出的对象,我可以看到smote_inside$control可能有一些信息。具体来说,它有indexindex_out:这是每个cv迭代中训练和测试的行索引。然而,当我这样做时:

代码语言:javascript
复制
lista=smote_inside$control
dd=imbal_train[lista$index$Fold1,] #training data first cv iteration
table(dd$Class)
Class1 Class2 
7529    471 

你可以看到它仍然是不平衡的。SMOTE应该从少数族裔阶层中创造一些合成记录。也许这些信息被保存在另一个地方?

问题:

  1. 如何才能看到使用smote来平衡数据的新培训记录?
  2. 如何确保测试文件夹没有受到过度采样的污染?
  3. 我在哪里可以找到插入器是做什么与打击?指向源代码的指针。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-05 16:38:59

一些答案:

  1. 它没有保留这些信息。
  2. 它的设计目的是不污染顽固性数据。如果您想要证明(超出您所引用的链接中显示的内容),请查看createModel以了解它是如何进行采样的,以及如何在预测之前处理数据的predictionFunction
  3. 软件包的来源基本上随处可见。上述两个函数(连同probFunction)用于工作。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47580132

复制
相关文章

相似问题

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