SMOTE-ENC: A novel SMOTE-based method to generate synthetic data for
  nominal and continuous features
  Real world datasets are heavily skewed where some classes are significantly
outnumbered by the other classes. In these situations, machine learning
algorithms fail to achieve substantial efficacy while predicting these
under-represented instances. To solve this problem, many variations of
synthetic minority over-sampling methods (SMOTE) have been proposed to balance
the dataset which deals with continuous features. However, for datasets with
both nominal and continuous features, SMOTE-NC is the only SMOTE-based
over-sampling technique to balance the data. In this paper, we present a novel
minority over-sampling method, SMOTE-ENC (SMOTE - Encoded Nominal and
Continuous), in which, nominal features are encoded as numeric values and the
difference between two such numeric value reflects the amount of change of
association with minority class. Our experiments show that the classification
model using SMOTE-ENC method offers better prediction than model using SMOTE-NC
when the dataset has a substantial number of nominal features and also when
there is some association between the categorical features and the target
class. Additionally, our proposed method addressed one of the major limitations
of SMOTE-NC algorithm. SMOTE-NC can be applied only on mixed datasets that have
features consisting of both continuous and nominal features and cannot function
if all the features of the dataset are nominal. Our novel method has been
generalized to be applied on both mixed datasets and on nominal only datasets.
The code is available from mkhushi.github.io
