2 37 MACHINE LEARNING ENABLED PERSONALIZED PHYSICAL ACTIVITY COACHING 4.2. Individual Algorithms We trained all algorithms on the training set of each individual and performed crossvalidation to tune the hyperparameters. Table 3 lists the used machine learning algorithms, the set of tested hyperparameters, and the selected grid search values. Table 3. Algorithms, used parameters, and grid search values. Algorithm name Hyperparameters Values AdaBoost (ADA) n_estimators: number of decision trees in the ensemble [10,50] learning rate: the shrink of the contribution of each successive decision tree in the ensemble [0.1, 0.5, 1.0, 10.0] Decision Tree (DT) criterion: the algorithm to use to decide on split [‘gini’, ‘entropy’] max_features: the number of features to consider when to split [‘auto’,’sqrt’,’log2’] KNeighborsClassifier (KNN) metrics: the distance metric to use [‘minkowski’,’euclidean’, ‘manhattan’] weights: weight function used [‘uniform’,’distance’] n_neighbors: number of neighbors to use for queries [5, 6, 7, 8, 9] Neural Networking (NN) learning_rate_init: the control of the stepsize in updating the weights [‘constant’, ‘invscaling’, ‘adaptive’] activation: the activation function for the hidden layer [‘identity’, ‘logistic’, ‘tanh’, ‘relu’] learning_rate: the rate for the weight of the updates [0.01, 0.05, 0.1, 0.5, 1.0] Logistic Regression (LR) C: regularization strength [0.001, 0.01, 0.1, 1, 10, 100, 1000] penalty: whether to use Lasso (L1) or Ridge (L2) regularization [‘l1’, ‘l2’] fit_intercept: whether or not to compute the intercept of the linear classifier [True, False] Stochastic Gradient Descent (SGD) fit_intercept: whether or not the intercept should be computed [True, False] l1_ratio: the penalty is set to L1 or L2 [0,0.15,1] loss: quantification of the loss [‘log’,’modified_huber’] Support Vector Classifier (SVM) kernel: the kernel type to be used in the algorithm [‘linear’,’rbf’] Random Forest (RF) n_estimators:number of decision trees [10, 50, 100, 500] max_features: the number of features to consider when to split [0.1, 0.25, 0.5, 0.75, ‘sqrt’, ‘log2’, None] criterion: which algorithm should be used to decide on split [‘gini’, ‘entropy’]
RkJQdWJsaXNoZXIy MjY0ODMw