View source: R/oversampleDatRel.R
oversampleDatRel | R Documentation |
oversampleDatRel
first oversamples using selected method
then relocates resampled data using Pure and Proper Class Cover Catch Digraph.
oversampleDatRel(
x,
y,
method = "SMOTE",
proportion = 1,
p_of = 0,
class_pos = NULL,
...
)
x |
feature matrix or dataframe. |
y |
class factor variable. |
method |
oversampling method. Default is "SMOTE". Available methods are: |
proportion |
proportion of covered samples. A real number between |
p_of |
proportion to increase cover radius. A real number between
|
class_pos |
Class name of synthetic data. Default is NULL. If NULL, positive class is minority class. |
... |
arguments to be used in specified method. |
Oversampling using DatRel
. Available oversampling methods are from
SMOTEWB
package. "ROSE" generates samples from all classes. DatRel
relocates all class samples.
an list which includes:
x_new |
dominant sample indexes. |
y_new |
dominant samples from feature matrix, x |
x_syn |
Radiuses of the circle for dominant samples |
i_dominant |
class names |
x_pos_dominant |
number of classes |
radii_pos_dominant |
proportions each class covered |
Fatih Saglam, saglamf89@gmail.com
library(SMOTEWB)
library(rcccd)
set.seed(10)
# adding data
x <- rbind(matrix(rnorm(2000, 3, 1), ncol = 2, nrow = 1000),
matrix(rnorm(60, 6, 1), ncol = 2, nrow = 30))
y <- as.factor(c(rep("negative", 1000), rep("positive", 30)))
# adding noise
x[1001,] <- c(3,3)
x[1002,] <- c(2,2)
x[1003,] <- c(4,4)
# resampling
m_SMOTE <- SMOTE(x = x, y = y, k = 3)
# resampled data
plot(x, col = y, main = "SMOTE")
points(m_SMOTE$x_syn, col = "green")
m_DatRel <- oversampleDatRel(x = x, y = y, method = "SMOTE")
# resampled data after relocation
plot(x, col = y, main = "SMOTE + DatRel")
points(m_DatRel$x_syn, col = "green")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.