3.2 ML categories
ML methods are broadly divided into supervised, unsupervised, and semi-supervised learning [93]. Unsupervised learning aims to uncover the hidden patterns and deduce the structures of unlabeled training data [18]. Unsupervised learning approaches cluster subgroups of data with similar properties or features into separate categories. Moreover, dimensionality reduction methods mentioned earlier as preprocessing operations are unsupervised learning methods that reduce the number of old features and create new principal features with minimum information loss [94]. However, because there are no target values in unsupervised learning methods, they cannot build an independent predictive model [95]. On the other hand, supervised learning is applied to learn and discover associations relationships between features and target values in a labeled dataset [96]. Therefore, the built model can be used as a predictive one to test previously unseen data. Two main supervised methods are classification for discrete class labels and regression for numerical quantities [97]. It is noteworthy that the output of unsupervised learning methods (e.g., low-dimension space features) can be used as the input of supervised learning algorithms. For semi-supervised learning, there are both labeled and unlabeled data in the training set; But usually, the amount of unlabeled data is more. In this method, one can use labeled data to create labels for unlabeled ones [98].