3 Selecting a problem for ML to solve

 

This chapter covers

  • The process of selecting a machine learning task
  • Evaluating the accuracy of a trained model
  • How to use supervised and unsupervised learning capabilities of ML.NET to solve real-world problems

Before we can start training an ML model, we need to understand the problem that we are trying to solve by training it. We also need to know how to evaluate the capability of our model to solve this problem once it has been trained.

Each type of real-world problem that can be solved with the help of ML requires a specific type or multiple types of ML tasks. Each type of task requires data to be formatted in a specific way that the training algorithms would be able to understand.

For example, if we want to predict the most likely political party that a person would vote for, we would choose a classification task. For this task, we would need to have tabular training data populated with features such as age, income, town or city, education level, etc., while the political party each person in the training data voted for would be the label.

3.1 Selecting an ML task

3.1.1 Deciding between supervised and unsupervised training

3.1.2 Choosing a supervised learning task

3.1.3 Choosing an unsupervised learning task

3.2 Supervised training tasks available in ML.NET

3.2.1 Binary and multiclass classification

3.2.2 Image classification

3.2.3 Regression

3.2.4 Recommendation

3.2.5 Forecasting

3.2.6 Other supervised learning tasks supported by ML.NET

3.3 Unsupervised training tasks available in ML.NET

3.3.1 The usage of clustering in ML.NET

3.3.2 The usage of anomaly detection in ML.NET

3.4 Evaluating the training results

3.4.1 Quality metrics for supervised learning

3.4.2 Accuracy metrics for unsupervised learning

3.4.3 Accuracy metrics in ML.NET

3.5 Summary