What are the different approaches for machine learning?

A) Supervised learning, unsupervised learning, reinforcement learning
B) Linear regression, logistic regression, decision trees
C) Clustering, classification, regression
D) Data preprocessing, feature engineering, model evaluation