當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。