当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R themis smotenc SMOTENC算法


SMOTENC 使用这些案例的最近邻生成少数类的新示例,并且可以处理分类变量

用法

smotenc(df, var, k = 5, over_ratio = 1)

参数

df

data.frame 或小标题。必须有 1 个因子变量和其余的数值变量。

var

字符,包含因子变量的变量名称。

k

一个整数。用于生成少数类新示例的最近邻居的数量。

over_ratio

多数频率与少数频率之比的数值。默认值 (1) 表示对所有其他级别进行采样,使其具有与最常出现的级别相同的频率。值为 0.5 意味着少数级别的行数(最多)(大约)是多数级别的一半。

data.frame 或 tibble,具体取决于 df 的类型。

细节

参数neighbors控制新示例的创建方式。对于每个当前存在的少数类示例,将创建 X 个新示例(这由参数 over_ratio 控制,如上所述)。这些示例将通过使用来自少数类每个示例的 neighbors 最近邻居的信息来生成。参数neighbors控制使用多少个邻居。列可以是数字列和分类列,不丢失数据。

参考

Chawla, N. V.、Bowyer, K. W.、Hall, L. O. 和 Kegelmeyer, W. P. (2002)。 Smote:合成少数过采样技术。人工智能研究杂志,16:321-357。

也可以看看

step_smotenc() 用于此方法的步骤函数

其他直接实现:adasyn()bsmote()nearmiss()smote()tomek()

例子

circle_numeric <- circle_example[, c("x", "y", "class")]

res <- smotenc(circle_numeric, var = "class")

res <- smotenc(circle_numeric, var = "class", k = 10)

res <- smotenc(circle_numeric, var = "class", over_ratio = 0.8)
源代码:R/smotenc_impl.R

相关用法


注:本文由纯净天空筛选整理自大神的英文原创作品 SMOTENC Algorithm。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。