MyNixOS website logo
Description

Robust Oversampling with RM-SMOTE for Imbalanced Classification.

Provides the ROBOSRMSMOTE (Robust Oversampling with RM-SMOTE) framework for imbalanced classification tasks. This package extends Mahalanobis distance-based oversampling techniques by integrating robust covariance estimators to better handle outliers and complex data distributions. The implemented methodology builds upon and significantly expands the RM-SMOTE algorithm originally proposed by Taban et al. (2025) <doi:10.1007/s10260-025-00819-8>.

ROBOSRMSMOTE

R License

Overview

ROBOSRMSMOTE (Robust Oversampling with RM-SMOTE) provides a framework for imbalanced classification tasks. This package extends Mahalanobis distance-based oversampling techniques by integrating robust covariance estimators to better handle outliers and complex data distributions. The implemented methodology builds upon and significantly expands the RM-SMOTE algorithm originally proposed by Taban et al. (2025).

Seven robust covariance estimators are supported.

Taban, R., Nunes, C. and Oliveira, M.R. (2025). RM-SMOTE: a new robust balancing technique. Statistical Methods & Applications. https://doi.org/10.1007/s10260-025-00819-8


Installation

install.packages("ROBOSRMSMOTE")

Core Functions

FunctionDescription
ROBOS_RM_SMOTE()Main function — generates synthetic minority observations
weighting()Computes robust Mahalanobis weights for minority class
get_robust_cov()Fits one of 7 robust covariance estimators

Supported Covariance Estimators

cov_methodEstimator
"mcd"Minimum Covariance Determinant (default)
"mve"Minimum Volume Ellipsoid
"mest"M-estimator
"mmest"MM-estimator
"sde"Stahel-Donoho Estimator
"sest"S-estimator
"ogk"Orthogonalized Gnanadesikan-Kettenring

Quick Start

library(ROBOSRMSMOTE)

# Load the example dataset (haberman: IR ≈ 2.78, n = 306)
data(haberman)
table(haberman$class)
#> negative positive
#>      225       81

# Balance with ROBOS_RM_SMOTE using MCD (default)
balanced <- ROBOS_RM_SMOTE(dt = haberman, target = "positive", eIR = 1)
table(balanced$class)
#> negative positive
#>      225      225

# Use a different robust estimator
balanced_ogk <- ROBOS_RM_SMOTE(dt     = haberman,
                                target = "positive",
                                eIR    = 1,
                                cov_method  = "ogk",
                                weight_func = 2)   # omega_B weighting
table(balanced_ogk$class)

Weighting Functions

weight_funcFormulaBehaviour
1ω_A: weight = 0Hard exclusion of outliers
2ω_B: weight = 1/MD²Soft down-weighting
3ω_C: weight = τ/MD²Minimal down-weighting

License

GPL-3 © Emre Dunder, Mehmet Ali Cengiz, Zainab Subhi Mahmood Hawrami, Abdulmohsen Alharthi.

Metadata

Version

1.0.0

License

Unknown

Platforms (78)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows