Henry I want to understand what SMOTE (Synthetic Minority Over-sampling Technique) is in machine learning. How does it help address class imbalance by generating synthetic samples? Can someone also explain its advantages and potential drawbacks?