【问题标题】:package to do SMOTE in R在 R 中做 SMOTE 的包
【发布时间】:2021-04-14 05:01:56
【问题描述】:

我正在尝试在 R 中为不平衡的数据集执行 SMOTE。我尝试为此安装“DMwR”包,但似乎该包已从 cran 存储库中删除。 我收到错误消息:“package ‘DMwR’ is not available (for R version 4.0.2)”

谁能帮我解决这个问题?或者建议任何其他包在 R 中使用 SMOTE?

TIA!

【问题讨论】:

    标签: r imbalanced-data smote


    【解决方案1】:

    你是对的。错误消息表示最新版本的 R (4.x.x) 不支持该软件包。

    据我所知,您正在寻找的包裹现在称为“smotefamily”。

    install.packages("smotefamily")
    

    应该给你你需要的东西

    【讨论】:

      【解决方案2】:

      smotefamily 是一个选项,但语法与DMwR 中使用的旧语法略有不同。事实上,它不支持caret 中使用的经典公式,例如target ~ .(参见文档SMOTE(X, target, K = 5, dup_size = 0)https://cran.r-project.org/web/packages/smotefamily/smotefamily.pdf)。

      相反,performanceEstimation 包与在 DMwR 中实现的 SMOTE 具有完全相同的公式:

      smote(form, data, perc.over = 2, k = 5, perc.under = 2)
      

      参见文档https://rdrr.io/cran/performanceEstimation/man/smote.html

      【讨论】:

        【解决方案3】:

        caret 的子采样技术损失惨重。

        您可以从archives 找到可用的版本,下载所需的存档并按如下方式安装:

        install.packages("/path/to/archive/DMwR_0.4.1.tar.gz", repos=NULL, type="source")
        

        我个人找不到 R 4.0.5 (2021-03-31) 的可用版本... 我将不得不安装旧版本的 R。

        【讨论】:

          猜你喜欢
          • 2020-04-20
          • 1970-01-01
          • 2013-03-30
          • 2016-02-15
          • 2018-05-14
          • 2019-11-30
          • 1970-01-01
          • 1970-01-01
          • 2016-08-07
          相关资源
          最近更新 更多