What is an imbalanced dataset and why is it a challenge in data science and machine learning? What techniques are commonly used to handle imbalanced datasets? How do methods like oversampling, undersampling, and SMOTE improve model performance? How do evaluation metrics change when working with imbalanced data? What are the best practices for building accurate models on imbalanced datasets?