I have a dataset with 203 variables. Like age>40 (0 -yes, 1-no), gender(0 or 1), used or not 200 types of drugs (one hot encoded into 200 variables), and one target variable (0 or 1). This is an imbalanced dataset where Counter({0: 5607, 1: 1717}).

May I know what kind of resampling strategy I should adopt for this kind of dataset?

Is this dataset considered as numerical or categorical datset?

I tried random under sampling and over sampling, but not satisfied with the ROC curve obtained after modeling.

Can I apply SMOTE considering this as numerical dataset?

I read in this , that In case the dataset only contains categorical variables, the Hamming distance is applied for resampling purpose and If the dataset only contains numerical variables, it is possible to apply traditional distances such as Euclidean, Manhattan or Minkowski.

In case of my dataset, is it okay to apply Euclidean distance for resampling? Could you please direct me to some sources showing how this is done for a datset with only binary values?


For purely categorical data like yours Chewla et al. proposed SMOTE-N in the original paper. SMOTE-N is implemented in imbalanced learn and the user guide describes the differences compared to vanilla SMOTE and SMOTE-NC as follows:

If data are made of only categorical data, one can use the SMOTEN variant [CBHK02]. The algorithm changes in two ways:

  • the nearest neighbors search does not rely on the Euclidean distance. Indeed, the value difference metric (VDM) also implemented in the class ValueDifferenceMetric is used.
  • a new sample is generated where each feature value corresponds to the most common category seen in the neighbors samples belonging to the same class.

Also note that your dataset is not extremely imbalanced so depending on the differences in misclassification cost of your classes you may or may not benefit from sampling techniques.

As a side note: ROC Curves can have some caveats when used on imbalanced datasets see, for example, "The Relationship Between Precision-Recall and ROC Curves" and "The Precision-Recall Plot Is More Informative than the ROC Plot When Evaluating Binary Classifiers on Imbalanced Datasets".


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.