class_docstr: Apply SMOTE for classification tasks.
  
  This will average a percentage p of the elements in the batch with other elements.
  The target will stay unchanged and keep the value of the most important row in the mix.
class_docstr_tok: ["Apply","SMOTE","for","classification","tasks",".","This","will","average","a","percentage","p","of","the","elements","in","the","batch","with","other","elements",".","The","target","will","stay","unchanged","and","keep","the","value","of","the","most","important","row","in","the","mix","."]
code: def __init__(
      self, device_name="auto", p=0.8, alpha=0.5, beta=0.5, seed=0
  ):
      """"""
      self.seed = seed
      self._set_seed()
      self.device = define_device(device_name)
      self.alpha = alpha
      self.beta = beta
      self.p = p
      if (p < 0.0) or (p > 1.0):
          raise ValueError("Value of p should be between 0. and 1.")
  
file_path: tabnet/pytorch_tabnet/augmentations.py
imports: import torch
  from pytorch_tabnet.utils import define_device
  import numpy
label_desc: Use image node_id 1 to create a new ClassificationSMOTE object  with example: obj = ClassificationSMOTE(device_name, p, alpha, beta, seed)