【问题标题】:SMOTE-NC in R. No packages foundR 中的 SMOTE-NC。未找到包
【发布时间】:2020-04-20 02:07:17
【问题描述】:

我有一个包含 5 个名义变量和 37 个分类变量的数据集。我想在 R 中执行过采样。但是,使用 SMOTE,我不能这样做。我按照 (Chawla, Bowyer and Hall, 2002) 的建议寻找了 SMOTE-NC,但我找不到任何支持它的软件包。如何解决这个问题呢?谢谢。

【问题讨论】:

标签: r oversampling imbalanced-data smote


【解决方案1】:

SMOTENC 仅针对 Python 开发(截至目前)。它的作用与 SMOTE 不同,SMOTE-NC 可用于包含数字和分类特征的数据集。但是,它并非旨在仅用于分类特征。

在您的 R 案例中,ROSESMOTE 旨在处理分类变量,因此,除非您的分类变量以二进制格式表示,否则您不必担心它们是分类变量。但是,如果它们不是以二进制格式表示的,则需要将所有这些分类变量转换为二进制格式。下面是一个示例,如果您尝试将名为 class 的分类变量转换为二进制格式:

df$class <- as.factor(df$class)
levels(df$class) <- c(1,0)

这会将变量 class 转换为 0 和 1。对所有分类变量执行此操作后,您应该能够使用 SMOTE 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2021-03-01
    • 2023-03-16
    • 2017-08-10
    • 2018-01-04
    • 1970-01-01
    相关资源
    最近更新 更多