【发布时间】: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
我正在尝试在 R 中为不平衡的数据集执行 SMOTE。我尝试为此安装“DMwR”包,但似乎该包已从 cran 存储库中删除。 我收到错误消息:“package ‘DMwR’ is not available (for R version 4.0.2)”
谁能帮我解决这个问题?或者建议任何其他包在 R 中使用 SMOTE?
TIA!
【问题讨论】:
标签: r imbalanced-data smote
你是对的。错误消息表示最新版本的 R (4.x.x) 不支持该软件包。
据我所知,您正在寻找的包裹现在称为“smotefamily”。
install.packages("smotefamily")
应该给你你需要的东西
【讨论】:
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
【讨论】:
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。
【讨论】: