Table 2.
Classification models | Hyper-parameter search spaces |
---|---|
Neural network (NN) | hidden_layer_sizes = {100, 200, 300}, learning_rate = 0.001 |
Support vector machines (SVM) | C = {0.01, 0.1, 1, 5, 10, 100}, kernel = {‘linear’, ‘rbf’}, gamma = {0.01, 0.1, 1, 10}, class_weight = {None, ‘balanced’} |
k-nearest neighbor (kNN) | n_neighbors = {1,3,5,7,9}, weights = {‘uniform’, ‘distance’} |
Decision tree (DT) | max_depth = {5, 6, 7, 8, 9, 10, 15, 20}, class_weight = {None, ‘balanced’} |
Random forest (RF) | n_estimators = {20, 50, 100, 200}, class_weight = {None, ‘balanced’, ‘balanced_subsample’} |
Gradient boosting (GB) | n_estimators = {20, 50, 100, 200} |
Logistic regression (LR) | C = {0.01, 0.1, 1, 5, 10, 100}, penalty = {‘l1’, ‘l2’}, class_weight = {None, ‘balanced’} |
Note: Adam was used for learning rate optimization of NN [43]; gamma hyper-parameter in SVM was applied when the kernel is radial basis function ‘rbf’; class_weight was applied when the oversampling approach (SMOTE) was not used. Further details about hyper-parameters used in this study can be found: NN (https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html), SVM (https://scikit-learn.org/stable/modules/generated/sklearn.svm. LinearSVC.html#sklearn.svm.LinearSVC),kNN (https://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html), DT (https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html), RF (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html), GB (https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html), and LR (https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html)