0% found this document useful (0 votes)
40 views21 pages

Combining Internal - and External-Training-Loads To Predict Non-Contact

This document summarizes a research article that examines using machine learning models to predict non-contact injuries in soccer players by combining data on internal training loads from well-being questionnaires and external training loads from GPS and sensors. The study hypothesizes that models considering both internal and external load data over one-week and one-month horizons could better inform injury risk. Models were trained on data from 40 elite soccer players and tested on standard performance metrics. For one-week predictions, internal load data was more accurate, while combining internal and external loads achieved best performance for one-month predictions. The document discusses monitoring training loads to prevent injuries and optimize training, but current injury prediction capabilities using machine learning need improvement.

Uploaded by

emavass
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views21 pages

Combining Internal - and External-Training-Loads To Predict Non-Contact

This document summarizes a research article that examines using machine learning models to predict non-contact injuries in soccer players by combining data on internal training loads from well-being questionnaires and external training loads from GPS and sensors. The study hypothesizes that models considering both internal and external load data over one-week and one-month horizons could better inform injury risk. Models were trained on data from 40 elite soccer players and tested on standard performance metrics. For one-week predictions, internal load data was more accurate, while combining internal and external loads achieved best performance for one-month predictions. The document discusses monitoring training loads to prevent injuries and optimize training, but current injury prediction capabilities using machine learning need improvement.

Uploaded by

emavass
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/343332133

Combining Internal- and External-Training-Loads to Predict Non-Contact


Injuries in Soccer

Article in Applied Sciences · July 2020


DOI: 10.3390/app10155261

CITATIONS READS

0 156

5 authors, including:

Emmanuel Vallance Nicolas Sutton-Charani


Université de Montpellier IMT Mines Alès
3 PUBLICATIONS 0 CITATIONS 11 PUBLICATIONS 35 CITATIONS

SEE PROFILE SEE PROFILE

Abdelhak Imoussaten Jacky Montmain


IMT Mines Alès IMT Mines Alès
41 PUBLICATIONS 113 CITATIONS 192 PUBLICATIONS 1,831 CITATIONS

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Semantic similarities at the core of generic indexing and clustering approaches View project

Multi-objective optimization and machine learning for sport training View project

All content following this page was uploaded by Stephane Perrey on 31 July 2020.

The user has requested enhancement of the downloaded file.


applied
sciences
Article
Combining Internal- and External-Training-Loads to
Predict Non-Contact Injuries in Soccer
Emmanuel Vallance 1,2 , Nicolas Sutton-Charani 1 , Abdelhak Imoussaten 1 ,
Jacky Montmain 1 and Stéphane Perrey 1, *
1 EuroMov Digital Health in Motion, Univ Montpellier, IMT Mines Ales, 34090 Montpellier, France;
[email protected] (E.V.); [email protected] (N.S.-C.);
[email protected] (A.I.); [email protected] (J.M.)
2 Valenciennes Football Club, 59300 Valenciennes, France
* Correspondence: [email protected]

Received: 26 June 2020; Accepted: 27 July 2020; Published: 30 July 2020 

Abstract: The large amount of features recorded from GPS and inertial sensors (external load) and
well-being questionnaires (internal load) can be used together in a multi-dimensional non-linear
machine learning based model for a better prediction of non-contact injuries. In this study we put
forward the main hypothesis that the use of such models would be able to inform better about injury
risks by considering the evolution of both internal and external loads over two horizons (one week
and one month). Predictive models were trained with data collected by both GPS and subjective
questionnaires and injury data from 40 elite male soccer players over one season. Various classification
machine-learning algorithms that performed best on external and internal loads features were
compared using standard performance metrics such as accuracy, precision, recall and the area under
the receiver operator characteristic curve. In particular, tree-based algorithms based on non-linear
models with an important interpretation aspect were privileged as they can help to understand
internal and external load features impact on injury risk. For 1-week injury prediction, internal load
features data were more accurate than external load features while for 1-month injury prediction,
the best performances of classifiers were reached by combining internal and external load features.

Keywords: injury prediction; training load monitoring; non-linear machine learning;


well-being questionnaires; one-month and one-week time horizons; sport science

1. Introduction
Injuries are commonplace in professional soccer. According to a recent study [1], the overall
incidence of injuries in elite male soccer players ranges from 2.5 to 9.4 injuries per 1000 h of exposure.
These authors also showed that the risk of injury is higher during matches than training sessions.
One of the last epidemiological studies highlighting the increase of injuries over the past 16 years,
has emphasized that muscle incidents were the main cause [2]. Injuries being ubiquitous in this
type of complex sport [3] there are several risk factors such as the number of played matches,
the accumulation of fatigue induced by the workload during and following training sessions, etc.
Within this context, non-contact injuries are often regarded as preventable and linked to internal
and external risk factors related to workload [4]. It is therefore essential to quantify properly,
over time, the training and competitive match workloads for any injury prediction approach in
soccer. In addition, the total training load tends to increase along with the annual performance
objectives. Therefore, monitoring the internal load experienced by the player as the combination of the
physiological (heart rate measurements [5]) and psychological (perception questionnaires [6]) stresses
and the external load (i.e., the mechanical work completed by the player) during both training and

Appl. Sci. 2020, 10, 5261; doi:10.3390/app10155261 www.mdpi.com/journal/applsci


Appl. Sci. 2020, 10, 5261 2 of 20

competition is of fundamental importance to allow the individualization of training activities [7] as


well as the identification of potential injury risk at the individual player level.
Many studies have already examined soccer activity. Randers et al. [8] indicated that analytical
tools such as video and wearable technology like Global Positioning System (GPS) devices and inertial
sensors can provide accurate mechanical data about players activities both during training and in
competition. Several important performance-related features have been highlighted, such as distances
travelled at different speeds, accelerations, decelerations and maximum speed [9]. For instance,
the average distance travelled in matches by elite soccer players is of 9 to 12 km [9,10]. Sprinting in
particular is often considered as a major component of performance, but ultimately it only represents
10% of the total distance covered during matches [11]. These various metrics among others
(e.g., acceleration and deceleration ranges, changes of direction) are regularly used to quantify external
load. Both high and low external loads lead to injury risk, with suggestions that there may be an
optimum load threshold for individuals [12]. Besides objective physical tests, it is also possible to use
subjective measures to predict injury risk. The session Rating of Perceived Exertion (RPE) has been
used for injury risk estimation [13–15]. Indeed, recent research in elite soccer recording contact and
non-contact injuries has identified a link between internal workload (using session RPE) and injury
incidence [16] while no relationship between internal load and non-contact injuries was observed in
other studies [14].
The large amount of features recorded from the assessment of external load (GPS and inertial
sensors) and internal load (associated with subjective well-being questionnaires and RPE) can be used
together in order to better capture the relationship between both internal and external loads [17] and
predict in turn players injury. However, the more massive collected data, the more complex their
managing. It is now acknowledged that machine learning methods applied to sport can provide
accurate diagnostic and decision tools for training management and injury risk assessment but are not
yet widely used in the latest scientific studies (see for a review Claudino et al. [18]). One of the first
investigations that tried to predict non-contact injuries in team-sports using machine-learning methods
was conducted by Rossi et al. [19]. Starting from the observation that injury risk assessment by applying
the so-called acute:chronic workload ratio (e.g., used in Raya-Gonzaled et al. [14]) led to inaccurate and
poor prediction abilities, Rossi et al. [19] proposed a multi-dimensional approach to injury prediction
in professional soccer based on external load data collected through GPS measurements. For that
purpose, they trained decision trees that predict whether or not a player is likely to get injured in
the next match or training session. Such non-linear models applied only to external training load
showed better performance metrics than traditional statistical methods for predicting injury risk [19].
However these performances are far from being optimal for the prediction of injuries, i.e., 50% of
precision and 80% of recall. Altogether, it appears that, to our knowledge, the scientific literature
remains very scarce on the problem of injury prediction in elite soccer from internal and external loads
together in a multi-dimensional non-linear machine learning based model.
Therefore, given the amount of data collected in modern elite soccer regarding both external and
internal loads, it’s nowadays relevant to apply machine-learning methods to a pre-established set of
variables in order to provide useful information for professional coaching. We put forward the main
hypothesis that using such type machine-learning methods would be able to inform us with good
prediction performance about injury risks over two horizons (one week and one month) by considering
the combined evolution of both internal and external training loads. The results of the present study,
as being the first one coupling the two types of training loads, could guide the programming and
individualization of physical training with the aim of controlling and thus reducing the risk of injury.
The evaluation of the proposed approach in this study is done in two steps. First, combining external
and internal loads features is proposed to predict injuries with better performances as compared to
past studies using only external load. Second, some classification algorithms that perform best on these
features are selected. For this aim, various standard machine learning algorithms are compared using
standard evaluation metrics such as accuracy, precision, recall and the area under the receiver operator
Appl. Sci. 2020, 10, 5261 3 of 20

characteristic curve (AUC). In particular, tree-based algorithms with an important interpretation aspect
are privileged as they can help to identify and understand how GPS and questionnaires variables
impact on injury risk.

2. Materials and Methods

2.1. Procedures and Data Collection


Forty players (mean ± SD; age 29.4 ± 5.8 years; height 175.3 ± 5.2 cm; body mass 76.5 ± 8.2 kg)
classified from all offensive and defensive position groups (9 central defenders, 8 fullbacks, 10 central
midfielders, 6 wide midfielders, 7 forwards) from the same elite soccer club competing in the French
Ligue 2 participated in one full-season (2017/2018) data collection. The study was conducted according
to the requirements of the Declaration of Helsinki. Participants gave their written informed consent
to participate in the study. Approval for the study was obtained from the Club as player’s data were
routinely collected throughout the season.
The training workload, perceptive well-being questionnaires and injury data were monitored
over the pre-season period and during the entire competitive period from June 2017 to May 2018,
taking into account the different breaks between these periods, the international truces and the winter
truce. A total of 245 training sessions, 38 Domino’s Ligue 2 matches, 2 Coupe de la Ligue matches and
3 Coupe de France matches were recorded and analyzed. Altogether, the average recording time in
training and match was 68 ± 24 min and 105 ± 11 min, respectively. The average distance covered by
all players for both training session and match was 4817 ± 1965 m and 7694 ± 1527 m, respectively;
and the average duration was 65 ± 13 min per training session and 78 ± 16 min per match.
During those periods, 142 injuries were inferred from the training notes containing the list
of injured players for each training session. The injuries concerned 33 different players. Figure 1
represents the number of injuries per players: 12 players were injured only once, 5 players were injured
6 times and 1 player had 12 injuries. It is important to note that the real injury times and reasons were
not known. It was alleged that when a player was referred as injured in a training session, it was in
fact at the last training session that his injury really occurred. The injury labels contain therefore some
uncertainty that was not taken into account in this study.

12

10

8
# players

0
1 2 3 4 5 6 7 8 9 10 11 12
# injuries
Figure 1. Number of injuries per players.

Various types of training load features (see Table 1) regarding a professional soccer club were
collected from 40 players during official competitive matches, pre-season preparation matches, before,
during and after training sessions. A first set of features concerned the player’s activity using a GPS
tracking system. The GPS system allows real-time player tracking and an early a posteriori analysis
for coaching staff. This first set of features reflects the external training load, i.e., the objective physical
work performed by the player. The player’s physical activity during each training session and match
Appl. Sci. 2020, 10, 5261 4 of 20

was measured using a portable 10 Hz GPS system (Optimeye S5, Catapult Innovations, Melbourne,
Australia) integrated with a 100 Hz triaxial accelerometer and a gyroscope. The accelerometer and
gyroscope components combined with 10 Hz GPS systems have shown acceptable levels of reliability
and validity in team sports for distance and high-speed distance-based metrics [20,21]. Four main
external load features were measured: maximum speed, total distance covered, and number of
accelerations and decelerations. Based on the dedicated literature [22,23] the following external
training load features were retained: the total distance travelled in each specific speed zone (0–1 km/h,
0–6 km/h, 6–15 km/h, 15–20 km/h, 20–25km/h, > 25 km/h) and the PlayerLoad TM (athlete’s
mechanical fatigue index according to Barrett, Midgley, and Lovell [24]), which is a modified vector
magnitude expressed as the square root of the sum of the squared instantaneous rated of change in
acceleration in each of the three planes and divided by 100.

Table 1. Set of features used in the study. GPS is corresponding to features of external loads while
questionnaires (based on a 10 cm visual analog scale, VAS10) are dealing with internal loads.

Type of Data Name Definition


age age at the beginning of the 2017 season
weight weight at the beginning of the 2017 season
personnal features height height at the beginning of the 2017 season
BMI Body Mass Index
role role
tot_dur total duration
tot_dist total distance covered
tot_PL total Player Load
vel_B1 distance covered between 0 and 1 km/h
vel_B2 distance covered between 0 and 6 km/h
vel_B3 distance covered between 6 and 15 km/h
vel_B4 distance covered between 15 and 20 km/h
GPS
vel_B5 distance covered between 20 and 25 km/h
vel_B6 distance covered at more than 25 km/h
acc_B2 number of accelerations above 2 m/s2
acc_B3 number of decelerations above −2m/s2
max_vel maximum speed in m/s
sleep_qual (VAS10) sleep quality
fatigue (VAS10) fatigue state of the player
shape (VAS10) being in good shape
pre-session questionnaire mood (VAS10) actual mood of the player
pain (yes or no) perceived pain
inj_worry (if pain, VAS10) worry in relation to pain
ill sick or not
RPE (VAS10) rating of perceived exertion of the session
post-session questionnaire satisfaction (VAS10) satisfaction during his performance
pleasure (VAS10) pleasure during the session

2.2. Predicting Injuries


This section presents our approach to predict injuries based on a dataset containing both external
load and internal load features. As external load features (GPS) have already shown good results for
injury prediction in soccer [19], this study aims to unveil the predictive power of internal load features
(questionnaires) relatively to external load ones. Several classifiers were optimised and compared in
terms of predictive performance. Two prediction perspectives (horizons) were considered in this study:
injury at 1 week and injury at 1 month.
The models thus constructed can therefore serve as an alert for any new training session for which
the model would predict an injury and can be used as an aid to training planning and adjustment.
Appl. Sci. 2020, 10, 5261 5 of 20

Moreover, the models interpretation can provide knowledge for expert in order to have a better
understanding of when, how and why injuries happen.

2.3. Data Pre-Processing and Evaluation Protocol


Imputation by mean (for numerical variables) and frequency (for categorical variables) was
performed upstream the model comparison was made. Categorical variables were transformed into
binary dummy ones in order to be handled by all models.
Once the dataset was built, all models hyper-parameters were tuned using a Bayesian optimisation
procedure (python package scikit-optimise) according to the different evaluation metrics. Since this
step was done for models tuning upstream some comparisons between models behaviors and features
sets and not for strict model selection with the aim of being directly used for some new unlabelled
data, bayesian optimisation was performed before the main experiments and not included inside our
evaluation protocol. The values of the tuned hyper-parameters are given in Appendix A (see Tables A1
and A2).
Finally, the models were evaluated by 10-fold cross-validations using 4 measures of predictive
performance (see Table 2) according to the two predictive horizons previously mentioned (1 week and
1-month). This process was repeated 10 times to check the stability of the model’s performances.

Table 2. Binary measures of predictive performance.

TP+ TN How many examples


accuracy TP+ FP+ TN + FN we correctly predicted

TP How many of those


precision TP+ FP predicted injury are actually injury

TP Of all injury examples,


recall TP+ FN how many of those we correctly predicted
Area Under the ROC Curve (AUC) ROC = rate(TP/FP)

2.4. Predictive Models


The learning models considered in this study are the following:

• K-Nearest Neighbours (KNN)


• Linear Discriminant Analysis (LDA)[25,26].
• Logistic regression (logit)
• Ridge classifier (Ridge)
• Gaussian Naive Bayes classifier (GNB) [27,28].
• Classification tree (tree) [29].
• Random forest (forest) [30].
• Support Vector Machine (SVM) [31].
• Multi-Layer Perceptron (MLP) [32–34].
• eXtreme Gradient Boosting (XGB)

KNN classifiers are very simple to compute but have the main drawbacks of involving high
computation times for large data-sets and to be hard to interpret since in distances computation
between examples, no explicit feature selection or weighting can be directly computed. Classification
trees are basic classifiers which can be used in non-linear contexts. They are often used for their
graphical outputs which are easily interpretable and provide visualisation of multi-dimensional
features impact on class variables. In our context, such tools could help experts to gain knowledge
about the relation between training loads and injury risk. They were compared to different generalised
linear classifiers which are usually categorized as generative or discriminative models [35]. Naive Bayes
classifier and LDA were used as standard generative models, logit, Ridge, MLP and SVM as
Appl. Sci. 2020, 10, 5261 6 of 20

discriminative ones. In Rossi et al. [19], the authors found that classification tree had higher predictive
performance than other models (including random forest), but since ensemble models are usually
more accurate than simple trees, forest and XGB models were also included in this study. Moreover,
all tree-based classifiers (tree, forest and XGB) provide features weights which are precious in terms of
models interpretation.
Different sets of attributes (see Table 3) were considered in order to highlight the potential
predictability of injuries levels. First, only the number of past injuries was used as predictor of future
injury, then personal features (age, height, weight and BMI) were added to the learning data. The GPS
and questionnaire data were first separately considered (in addition to past injuries and personal
features) and finally the largest set of variables included all together the different input variables
(see Table 1).

Table 3. Attributes sets.

Set Name Past Injuries Personal Features GPS Data Questionnaires Data
only injuries x
personal features x x
GPS x x x
questionnaires x x x
all x x x x

All models were compared to a baseline approach (B) which consists in predicting systematically the
most frequent class (e.g., if there is 75% no injury and 25% injury, inNode will systematically predict
no injury).
All experiments were performed on Python with the following libraries: pandas, xgboost, xgboost,
matplotlib, IPython, pydotplus and performance results were plotted with the ggplot2 package of R.

3. Results

3.1. Predictive Performance


In this section, results are displayed and analysed in terms of the predictive performance.
Figures 2 and 3 represent boxplots of the predictive performance of all models according to the
different feature sets described in Table 3. Table 2 contains a reminder of the notions of accuracy,
precision, recall and AUC. In this study, the accuracy is not given priority since it assumes equal weight
for different labels whilst on the one hand injuries are highly more sensitive than non-injuries and
our dataset is naturally unbalanced since injury is relatively rare. AUC is a standard metric for the
evaluation of predictive models given unbalanced dataset but its interpretation is not easy. Therefore
precision and recall have the highest priority in some part of this study, recall being slightly prioritised
since missing an injury prediction has more severe consequence than falsely predicting one (in terms
of health and career). The best performances were obtained with the KNN, tree, forest and XGB
classifiers. The logit and GNB classifiers do not seem to be significantly more accurate than the baseline
B for all considered feature sets and time-horizons. The same observation can be done for the Ridge
classifier and MLP but only for 1-week horizon predictions. For all models, performances were better
when personal features are included as inputs than when only the number of past injuries is used as
predictor of future ones. The addition of GPS and/or questionnaires data in features enabled much
higher performances most of the time except for some models (e.g., see Figure 3 the recall of the LDA
model for one-month prediction decreases when questionnaire data are used, or in Figure 2 as it is the
case of the precision of MLP for one-week prediction).
Appl. Sci. 2020, 10, 5261 7 of 20

ACCURACY PRECISION
0.95

0.90 0.90

baseline

0.85 baseline

0.85

0.80

0.75
0.80

0.70

0.75
KNN LDA logit Ridge GNB tree forest SVM MLP XGB KNN LDA logit Ridge GNB tree forest SVM MLP XGB

type only injuries personnal features GPS questionnaires all type only injuries personnal features GPS questionnaires all

RECALL AUC

baseline
baseline
0.8

0.8

0.6

0.6

0.4

0.4
0.2

KNN LDA logit Ridge GNB tree forest SVM MLP XGB KNN LDA logit Ridge GNB tree forest SVM MLP XGB

type only injuries personnal features GPS questionnaires all type only injuries personnal features GPS questionnaires all

Figure 2. One-week predictive performance of ten machine learning methods according to five types
(in color) of data sets. Predictive results are presented as box plots, in which the box indicates quartile
values; the whiskers indicate the upper and lower values; circle indicates outlier.

According to those remarks, Figures 4 and 5 represent the results obtained for KNN and tree-based
classifiers with features including past injuries, personal features and GPS or/and questionnaires
data. The terms ’GPS’ and ’questionnaire’ ’features sets’ will implicitly include past injuries and
personal features in the following of this manuscript. It appears clearly that the choice of features
has a higher impact on short terms (1 week) predictions than on mid term (1 month) ones. It is
also noticeable that higher performance can be obtained for 1 month predictions with maximum
values around 97% for all metrics, probably due to less important labels imbalance (considering
1-week horizon, injury is a much more rare event than for 1-month time windows). In the latter
configuration best performances were always obtained with XGB closely followed by random forest.
For 1 week predictions, the best accuracy and recall were obtained by random forest with GPS
data, the highest precision with classification tree and the best AUC was achieved by XGB. It is
remarkable that for 1 week horizon, best predictions are always obtained with questionnaires data with
a significant difference comparing to GPS data for the same models. In that time window, GPS data
even seem to worsen injury prediction quality (e.g., for tree we have per f ormance(questionnaire) >
per f ormance( GPS + questionnaire)). This could be explained by the fact that internal load has a more
“readable” impact on short-term injury risk through the expressiveness of questionnaires contrary to
Appl. Sci. 2020, 10, 5261 8 of 20

external load which tends be more objective and correlated to injury risk on accumulation over time
periods when exceeding some natural thresholds.

ACCURACY PRECISION

0.9
0.9

0.8
0.8

0.7

0.7

baseline
0.6
baseline
0.6

0.5

KNN LDA logit Ridge GNB tree forest SVM MLP XGB KNN LDA logit Ridge GNB tree forest SVM MLP XGB

type only injuries personnal features GPS questionnaires all type only injuries personnal features GPS questionnaires all

RECALL AUC

0.9 0.9

0.8 0.8

0.7 0.7

baseline baseline
0.6 0.6

0.5 0.5

KNN LDA logit Ridge GNB tree forest SVM MLP XGB KNN LDA logit Ridge GNB tree forest SVM MLP XGB

type only injuries personnal features GPS questionnaires all type only injuries personnal features GPS questionnaires all

Figure 3. One-month predictive performance of ten machine learning methods according to five types
(in color) of data sets. Predictive results are presented as box plots, in which the box indicates quartile
values; the whiskers indicate the upper and lower values; circle indicates outlier.

For 1 month predictions, with the most performing classifier (XGB), GPS data (without
questionnaires) enabled better predictions than questionnaires features. In that configuration (for XGB)
the highest accuracy, prediction and recall were obtained with the largest features set (GPS with
questionnaires data) while the highest AUC was obtained with GPS data alone. This last finding
about 1-month predictions has to be put into perspective since on the one hand XGB performance
differences according to features sets were not very high, and random forest performance differences
have often the opposite sign of XGB’s ones (with no significant performance differences between those
two classifiers): for forests, predictions computed with questionnaires data were more efficient than
with GPS data.
Appl. Sci. 2020, 10, 5261 9 of 20

ACCURACY PRECISION
0.975 0.975

0.950 0.950

0.925 0.925

0.900 0.900

KNN tree forest XGB KNN tree forest XGB

RECALL AUC
0.975 0.975

0.950
0.950

0.925

0.925
0.900

0.875
0.900

0.850

KNN tree forest XGB KNN tree forest XGB


type GPS questionnaires all

Figure 4. One-month predictive performance of best models according to three types (in color) of
data sets. Predictive results are presented as box plots, in which the box indicates quartile values; the
whiskers indicate the upper and lower values; circle indicates outlier.
Appl. Sci. 2020, 10, 5261 10 of 20

ACCURACY PRECISION

0.93

0.94

0.92
0.93

0.91
0.92

0.91 0.90

0.90
0.89
KNN tree forest XGB KNN tree forest XGB

RECALL AUC
0.95

0.94 0.94

0.93
0.92

0.92

0.90
0.91

0.90 0.88

KNN tree forest XGB KNN tree forest XGB


type GPS questionnaires all

Figure 5. One-week predictive performance of best models according to three types (in color) of data
sets. Predictive results are presented as box plots, in which the box indicates quartile values; the
whiskers indicate the upper and lower values; circle indicates outlier.

3.2. Predictive Explanation


In order to obtain as much information as possible from the predictive models used, 2 types of
representation are proposed here:
• graphs corresponding to decision trees for legitimate configuration (i.e., when decision tree
performs well according to Section 3.1)
• the weights of predictive variables obtained from tree-based models
In both cases, the models were learned over the entire dataset so as to use the maximum
available information.
Appl. Sci. 2020, 10, 5261 11 of 20

Table 4 represents the best (feature set & classifier) couples for all configurations (horizons &
metrics) according to Figures 4 and 5. Thus, classification tree learnt on the questionnaires data is the
best 1-week injury prediction model for precision.
Figure 6 represents the top of the classification trees obtained for 1-week prediction of injuries
with a hyper-parameters tuning toward precision evaluation metric on questionnaires data (according
to Table 4). The complete tree is given in Appendix A (see Figure A1).

Table 4. Features importance configurations.

Horizon Metric Set Name Classifier


1 week precision questionnaires tree
1 week recall questionnaires forest
1 month precision all XGB
1 month recall all XGB

All nodes contain different information:


• a discriminative condition relatively to 1 feature (with a numerical threshold) that determines
which is the next node to be considered given features values (e.g., RPE3 w ≤ 4.43 for the
initial node).
• the proportion of the learning dataset that falls into the node (e.g., 100% for the initial node).
• the labels proportions of the examples contained in the node (e.g., the initial node contains 13.1%
of injured players and 86.9% of not injured ones).
• the label attached to the node which is the most frequent one in the subset of the learning examples
it contains.
If a node’s condition is verified (for any new example), the next node to read is the left child one
(“True” branch below the initial node) and the right one if not.
In Figure 6, only the 6 first depth levels of the tree are represented in order to be
readable as possible to the naked eye. The most significant players set (17.7% of the dataset)
at high injury risk (P(injury risk) = 0.201) felt depressed precisely during the last week
(RPE_3w ≤ 4.43 and RPE_2w > 2.992), were relatively worried about injury during the last month
(0.18 ≤ injw orry4 w ≤ 0.969) and tall (height > 171 cm). This draws a player profile (tall player recently
depressed and consistently worried) for which short-term injury risk seems reliable.

RPE_3w <= 4.43


samples = 100.0%
value = [0.131, 0.869]
class = no injury
True
False
RPE_2w <= 2.992 RPE_3w <= 6.718
samples = 21.9% samples = 78.1%
value = [0.166, 0.834] value = [0.121, 0.879]
class = no injury class = no injury

inj_worry_4w <= 0.421 inj_worry_4w <= 0.969 RPE_4w <= 6.685 RPE_1w <= 8.167
samples = 1.5% samples = 20.4% samples = 76.4% samples = 1.7%
value = [0.022, 0.978] value = [0.176, 0.824] value = [0.123, 0.877] value = [0.02, 0.98]
class = no injury class = no injury class = no injury class = no injury

pleasure_2w <= 1.1 height <= 171.0 inj_worry_2w <= 1.913 shape_1w <= 0.766 shape_3w <= 0.749 sleep_qual_2w <= 3.764
samples = 1.4% samples = 1.5%
samples = 0.1% samples = 19.1% samples = 1.3% samples = 76.1% samples = 0.4% samples = 0.1%
value = [0.0, 1.0] value = [0.0, 1.0]
value = [0.5, 0.5] value = [0.187, 0.813] value = [0.024, 0.976] value = [0.121, 0.879] value = [0.455, 0.545] value = [0.25, 0.75]
class = no injury class = no injury
class = injury class = no injury class = no injury class = no injury class = no injury class = no injury

inj_worry_4w <= 0.18 sleep_qual_1w <= 2.559 shape_4w <= 0.757 shape_1w <= 0.608
samples = 0.0% samples = 0.0% samples = 0.7% samples = 1.3% samples = 0.0% samples = 0.1% samples = 0.0% samples = 0.1%
samples = 18.3% samples = 3.3% samples = 72.7% samples = 0.2%
value = [0.0, 1.0] value = [1.0, 0.0] value = [0.0, 1.0] value = [0.0, 1.0] value = [1.0, 0.0] value = [1.0, 0.0] value = [1.0, 0.0] value = [0.0, 1.0]
value = [0.194, 0.806] value = [0.049, 0.951] value = [0.125, 0.875] value = [0.143, 0.857]
class = no injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury

RPE_3w <= 4.415 shape_2w <= 0.728 inj_worry_1w <= 0.306 shape_4w <= 0.771
samples = 0.6% samples = 0.7% samples = 0.0% samples = 0.2%
samples = 17.7% samples = 0.2% samples = 3.1% samples = 72.1%
value = [0.0, 1.0] value = [0.0, 1.0] value = [1.0, 0.0] value = [0.0, 1.0]
value = [0.201, 0.799] value = [0.429, 0.571] value = [0.021, 0.979] value = [0.126, 0.874]
class = no injury class = no injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury

(...) (...) (...) (...) (...) (...) (...) (...)

Figure 6. Decision tree learnt on questionnaires dataset for one-month injury prediction optimised for
precision metric.

Figures 7 and 8 respectively represent the 10 highest features importance for 1-week and 1-month
injury predictions computed with the best (classifier, feature set) configuration according to Table 4.
Appl. Sci. 2020, 10, 5261 12 of 20

The features importance weights are calculated with two different approaches: CART impurity
decrease which is available only for tree-based classifiers and features permutation scrambling
sensitivity which can be computed on any predictive model. In CART approach the features importance
weights correspond to the average impurity decrease along the tree achieved by the different
feature during split selection. With the permutation approach, features are randomly scrambled
several times and their importance weights are computed as the mean classifiers sensitivity in
terms of predictive performance to the features scrambling. Those methods should therefore be
interpreted differently, CART features importance weights represent an information on the features
informational power whereas the permutation weights are measure of sensitivity of features reliability
on predictive performance.

Classification tree - CART approach - optimised measure: precision


7
Importance weight (in %)

6
5
4
3
2
1
0
pleasure_4w satisfaction_3w RPE_2w RPE_1w RPE_3w RPE_4w pleasure_2w pleasure_1w satisfaction_2w satisfaction_4w

Classification tree - permutation approach - optimised measure: precision


Permutation importance weight (in %)

8
7
6
5
4
3
2
1
0
satisfaction_2w satisfaction_3w RPE_2w pleasure_2w pleasure_1w RPE_3w pleasure_4w RPE_1w satisfaction shape_3w

Random forest - CART approach - optimised measure: recall


5
Importance weight (in %)

0
RPE_4w RPE_3w pleasure_4w RPE_2w satisfaction_3w RPE_1w satisfaction_4w pleasure_1w pleasure_3w pleasure_2w

16
Random forest - permutation approach - optimised measure: recall
Permutation importance weight (in %)

14
12
10
8
6
4
2
0
RPE_2w RPE_3w RPE_4w satisfaction_3w RPE_1w pleasure_1w pleasure_4w RPE pleasure_2w pleasure_3w

Figure 7. Best features importance for 1-week injury prediction.

According to Figure 7, where classifiers are learnt on the questionnaires features sets, the average
pleasure and satisfaction of players computed over the last month are the most important features for
1-week injury prediction in terms of precision, and the perceived effort (RPE) during the last four weeks
(computed separately) is the second set of important features followed by recent pleasure and satisfaction.
Appl. Sci. 2020, 10, 5261 13 of 20

Considering these variables, it can be noticed that the precision and recall of most of these features
seem to be highly sensitive to their reliability but with a different importance order (e.g., pleasure_4w
is the most important feature in terms of information but is the 7th most important feature in terms of
reliability precision-sensitivity). Globally, the different features related to satisfaction, pleasure and
RPE appear to be the most important in terms of precision and recall for 1-week injury prediction.

2.5
XGB - CART approach - optimised measure: precision
Importance weight (in %)

2.0

1.5

1.0

0.5

0.0
pain_no max_vel_cum inj_worry inj_worry_4w max_vel_4w fatigue_3w shape_4w tot_PL fatigue_4w shape_1w

XGB - permutation approach - optimised measure: precision


Permutation importance weight (in %)

30

25

20

15

10

0
RPE_1w satisfaction_1w satisfaction_4w RPE_2w tot_PL_1w RPE pleasure_2w ill_4w_yes vel_B3_1w vel_B6_1w

XGB - CART approach - optimised measure: recall


3.5
3.0
Importance weight (in %)

2.5
2.0
1.5
1.0
0.5
0.0
pain_3w_no shape_3w pain_2w_no shape_4w age shape_1w weight tot_dur_cum tot_dist inj_worry

XGB - permutation approach - optimised measure: recall


Permutation importance weight (in %)

40

30

20

10

0
satisfaction_4w RPE_1w vel_B1 pleasure RPE ill_4w_yes vel_B3_1w vel_B6_1w vel_B5_1w vel_B4_1w

Figure 8. Best features importance for 1-month injury prediction.

For 1-month predictions (Figure 8), which are computed from the largest features set (see Table 4)
including questionnaires and GPS data, the most important features are highly different for precision
and recall and between CART and permutation approaches. The current pain seems the most important
feature in order to be sure of an injury prediction (i.e., for precision metric) and past average pain
computed over the last 2 or 3 weeks appears to detect injury risk accurately (i.e., is important in
terms of recall). Nevertheless, it should be noted that the reliability of pain related features does
not have high impact neither on precision nor on recall. The fact max_vel_cum and max_vel_4w are
respectively the second and 5th most important features in terms of precision according to CART
approach. They can be interpreted as injury risk being particularly precise when past velocity exceeds
some natural threshold probably specific to the different soccer players. Similarly, the total distance
Appl. Sci. 2020, 10, 5261 14 of 20

travelled by players during current and past training seems to have a relative importance on recall
values. Overall, pain and shape related features as well as personal features (age and weights) appear
to be the most important features for accurate injury risk detection (i.e., to get high recall values) and
pain; worry as well as fatigue and external load variables are important to get reliable 1-month injury
prediction (i.e., with high precision values).

4. Discussion
In view of the overall results of this study, some notable facts should be noted. First, for 1-week
injury prediction, questionnaire (internal load features) data are more accurate than GPS (external load
features) ones, which even tend to deteriorate injury prediction when included in the learning data.
For 1-month injury prediction, the classifiers learnt from GPS or questionnaire data show roughly the
same performance levels, the best one being usually reached when combining GPS and questionnaire
data. In terms of interpretation, decision trees graphs and features importance weights computation
have highlighted a specific player profile at high injury risk and some specific features involved in
precision and recall optimisation.
To the best of our knowledge, the work of Rossi et al. [19] is the single that used a non-linear
classifier, decision tree, in a multi-dimensional context to predict injuries in elite soccer. Thus,
we decided to focus part of our discussion to this study. For comparison, the decision trees used in the
study by Rossi et al. [19] detected about 80% of the injuries in the sample analyzed with an accuracy
of approximately 50% (with external load features). As a result, the algorithm used in our machine
learning approach would be able to classify more accurately the so-called at-risk players regarding the
past occurrence of injuries and thus be able to continue to perform without being disturbed by “false
alarms”. The accuracy of this tree, particularly at 1 week, which differs from Rossi et al. [19], is made
possible by linking GPS data and subjective questionnaires throughout the classifiers, which justifies
the contribution of this work to the current literature linking data science and sport science [17,19,36].
In the present study, we showed that subjective variables have a very high predictive/explanatory
potential (compared to objective variables) but they are more expensive, i.e., having all players
completing questionnaires before and after training can be complicated given their tight schedules and
their willingness. Nevertheless, professional teams that can not outfit players with GPS sensors for
practical or economic reasons should consider use questionnaires in order to detect players at high
injury risk [37,38].
Another point that validates the choice of tree-based classifiers is that those models naturally
provide feature importance weights that can help coaches to monitor some specific indicators and be
used as useful decision support tools for training optimization. It should be noted that in this case,
subjective questionnaires are very valuable especially for short-term prediction even when they are
completed by only some players at some training sessions. Except for 1-week injury risk precision,
ensemble models seem preferable compared to single trees even if they do not provide single tree
graphs. In addition, the interest of this study lies in the coupling of the machine learning methods and
the variations of the training load (internal and external). It can be noticed that even when both types
of features (GPS and questionnaires) are used as inputs, the most important and sensitive features are
almost always associated with subjective variables. It can therefore be hypothesized that with these
data and this sample in this particular situation, internal load would be a determining factor in the
prediction of injury. In other words, it would be essential for each coach to pay particular attention to
the athletes’ feelings before and after training sessions in order to prevent injuries from occurring.
To conclude, the fact that questionnaires features can replace GPS ones and even increase
predictive performance by doing so suggests that a part of the information related to external load
is included in the internal load’s one. While an individual may perform the same external load,
their ability to respond to this output (internal load) may differ [17,39]. Utilizing both measures
provides a comprehensive view on whether an individual is in a state of “readiness” and able to
tolerate high loads, or in a state “fatigue” and potentially at risk of injury or decreased performance.
Appl. Sci. 2020, 10, 5261 15 of 20

Internal load being reflected by the external load provides additional information of the players that
the external load could not take into consideration. In our study, we highlighted that several subjective
questionnaires reflect likely different aspects of the training load related to the stress that the players
may support. For instance, monitoring pre-training perceived fatigue, mood, pain, shape and sleep for
each player may offer an indication on the quality of the external output that might be produced prior
to a session and provides coaches with the ability to make adjustments if warranted. Monitoring is not
limited to either subjective or objective measures, instead they can be used to complement each other.
This is consistent with recommendations [38]. To sump up, the potential efficacy of subjective measures
for soccer player monitoring has been established, however optimal implementation practices are yet
to be determined.

Limitation and Future Directions


However, in a study with preliminary data, some limitations exist, but are in fact potential sources
of improvement. As a result, a larger sample size, extending to several teams with different training
strategies over multiple seasons, would allow more general conclusions to be drawn about injury
prediction. In addition, the GPS data and questionnaires collection and imputations methods can also
be improved. With regard to the completed questionnaires, the influence of greater diligence in the
use of these questionnaires by players would be fundamental to observe. As for GPS data, they are
present in an average form compared to their initial acquisition frequency of 10 Hz. In the race for
performance, it would be interesting to observe the consequences of using all the raw values acquired
at this frequency. Also, due to the differences between players, individualization could be considered
in regards to the variables relating to external load (data extracted from GPS), by computing speed
and acceleration thresholds specific to each player beyond which injuries is likely to occur. By doing
so, the predictive potential of GPS variables could be greatly increased, and could have an influence
on the training strategies implemented by coaches. Since not-injured players are much easier to find in
datasets and injury is not a controllable factor, data augmentation could be used in order to simulate
more injury examples from the real ones. Those artificial examples would probably improve the
predictive performances of classifiers.

5. Conclusions
The objective of this study was to address the issue of using various machine learning methods
for injury prediction from the athlete’s internal and external loads conjointly. The results of this study
show that depending on the complexity of the predictive model, the different predictive metrics
values for injury prediction are close to 100%, especially with a 1-month time horizon. In addition,
it appears that the subjective variables (i.e., internal load) of the pre-session questionnaire (such as
sleep quality, fatigue, shape, mood) as well as post-session questionnaire (satisfaction and pleasure)
and RPE are found to be determining factors in the occurrence of injuries. Overall, our findings provide
further justification for the implementation of a team-wide monitoring strategy of internal load in elite
soccer players.
Finally, although the preliminary results of this paper appear encouraging and relevant,
future research with a larger sample size by involving several teams from the same championship
can provide sufficient data to move from specific conclusions to general ones about machine
learning methods.

Author Contributions: Conceptualization, E.V., N.S.-C. and A.I.; Formal analysis, E.V. and N.S.-C.; Investigation,
E.V.; Methodology, N.S.-C. and A.I.; Project administration, J.M. and S.P.; Supervision, S.P.; Validation, E.V., N.S.-C.,
J.M. and S.P.; Writing—original draft, E.V.; Writing—review & editing, N.S.-C., A.I. and S.P.; All authors have read
and agreed to the published version of the manuscript.
Funding: This research received no external funding.
Conflicts of Interest: The authors declare that there are no conflicts of interest regarding the publication of
this paper.
Appl. Sci. 2020, 10, 5261 16 of 20

Appendix A

Table A1. Optimal hyper-parameters for 1-week injury prediction.

Model Parameter Accuracy Precision Recall AUC


KNN K 1 2 1 1
LDA tol 1.30 ×10−4 9.87 ×10−2 1.75 ×10−5 1.65 ×10−5
criterion entropy entropy entropy entropy
tree max depth 8083 10,000 10,000 10,000
min samples split 2 2 2 12
min impurity decrease 0 0 0 0.00332908
gaussianNB var smoothing 0.04 0.04 0.00 0.02
n estimators 10,000 10 8145 10,000
criterion entropy entropy entropy entropy
forest max depth 63 100 93 10
min samples split 2 2 2 2
min impurity decrease 0 0 0 0
max features 0.5 0.01 0.5 0.5
C 823,469 442,788 397,591 1,000,000
SVM gamma 2.9 2.8 2.6 0
degree 7 8 8 1
hidden layer sizes (100, 100, 50) (100, 50, 50) (50, 100, 100) (100, 100, 100)
MLP activation tanh relu relu relu
alpha 1.00 ×10−5 0.0001 1 ×10−5 1 ×10−5
penalty l2 l2 l2 l2
logit tol 0.45 0.51 0.08 1 ×10−6
C 516,729 9658 270,370 1 ×106
l1 ratio 0 1 0 1
penalty l2 none l2 l1
Elasticnet tol 0.48 0.00 1.00 0.00
C 250,061 1 ×106 0 227,702
l1 ratio 0 1 0 1
max depth 5 10 3 10
n estimators 946 1 ×103 1 ×103 654
XGB eta 0.01 0.01 0.59 0.12
gamma 0 5 0 0
sampling method gradient based gradient based gradient based uniform
Ridge alpha 6.39 ×10−1 0 0 6.83 ×101
tol 1 0 0 1
Appl. Sci. 2020, 10, 5261 17 of 20

Table A2. Optimal hyper-parameters for 1-month injury prediction.

Model Parameter Accuracy Precision Recall AUC


KNN K 1 1 1 4
LDA tol 5.12 ×10−6 0 0 0
criterion entropy gini entropy entropy
max depth 50 1513 10,000 9529
tree min samples split 2 2 2 25
min impurity decrease 0 1.35 ×10−4 0 3.5 ×10−3
gaussianNB var smoothing 0.0325 0 1 ×10−4 0.13
n estimators 1 ×105 415 252 5269
criterion entropy gini entropy entropy
forest max depth 87 29 92 75
min samples split 2 2 2 5
min impurity decrease 0 0 0 0
max features 0.5 0.195 0.5 0.3638
C 176530 1 ×107 1 ×106 816,071
SVM gamma 1.11 1 ×10−6 1 ×10−6 1 ×10−6
degree 3 8 1 7
hidden layer sizes (50. 100. 100) (50. 50. 100) (100. 100. 50) (100. 100. 100)
MLP activation relu relu relu relu
alpha 1 ×10−5 1 ×10−5 1 ×10−5 1 ×10−5
penalty l2 l2 l2 l2
logit tol 0.98 0.01459 0.38 0.0028
C 3125 2976 999,758 2275
l1 ratio 0 0 0 1
penalty elasticnet l1 elasticnet l1
elasticnet tol 7 ×10−4 1 ×10−6 1 ×10−4 1 ×10−6
C 966341 1 ×106 1 ×106 683,586
l1 ratio 0 1 0 1
max depth 5 4 5 10
n estimators 737 594 875 904
XGB eta 0.256 0.45327 0.4529 0.03162
gamma 0 0 0 0
sampling method uniform uniform gradient based uniform
Ridge alpha 33 17.1 0 0
tol 1 0 1 0
RPE_3w <= 4.43
samples = 3086
value = [403, 2683]
class = no injury
True
False
RPE_2w <= 2.992 RPE_3w <= 6.718
samples = 676 samples = 2410
value = [112, 564] value = [291, 2119]
class = no injury class = no injury

inj_worry_4w <= 0.421 inj_worry_4w <= 0.969 RPE_4w <= 6.685 RPE_1w <= 8.167
samples = 46 samples = 630 samples = 2359 samples = 51
value = [1, 45] value = [111, 519] value = [290, 2069] value = [1, 50]
class = no injury class = no injury class = no injury class = no injury

pleasure_2w <= 1.1 height <= 171.0 inj_worry_2w <= 1.913 shape_1w <= 0.766 shape_3w <= 0.749 sleep_qual_2w <= 3.764
samples = 44 samples = 47
samples = 2 samples = 589 samples = 41 samples = 2348 samples = 11 samples = 4
value = [0, 44] value = [0, 47]
value = [1, 1] value = [110, 479] value = [1, 40] value = [285, 2063] value = [5, 6] value = [1, 3]
class = no injury class = no injury
class = injury class = no injury class = no injury class = no injury class = no injury class = no injury

inj_worry_4w <= 0.18 sleep_qual_1w <= 2.559 shape_4w <= 0.757 shape_1w <= 0.608
samples = 1 samples = 1 samples = 23 samples = 40 samples = 1 samples = 4 samples = 1 samples = 3
samples = 566 samples = 103 samples = 2245 samples = 7
value = [0, 1] value = [1, 0] value = [0, 23] value = [0, 40] value = [1, 0] value = [4, 0] value = [1, 0] value = [0, 3]
value = [110, 456] value = [5, 98] value = [280, 1965] value = [1, 6]
class = no injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury

RPE_3w <= 4.415 shape_2w <= 0.728 inj_worry_1w <= 0.306 shape_4w <= 0.771
samples = 19 samples = 21 samples = 1 samples = 6
samples = 547 samples = 7 samples = 96 samples = 2224
value = [0, 19] value = [0, 21] value = [1, 0] value = [0, 6]
value = [110, 437] value = [3, 4] value = [2, 94] value = [280, 1944]
class = no injury class = no injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury
Appl. Sci. 2020, 10, 5261

inj_worry_4w <= 0.184 pleasure_1w <= 2.411 age <= 32.0 inj_worry_4w <= 2.095 pleasure_3w <= 2.8 RPE_4w <= 6.522
samples = 3 samples = 1
samples = 534 samples = 13 samples = 4 samples = 95 samples = 22 samples = 2202
value = [0, 3] value = [1, 0]
value = [102, 432] value = [8, 5] value = [3, 1] value = [1, 94] value = [8, 14] value = [272, 1930]
class = no injury class = injury
class = no injury class = injury class = injury class = no injury class = no injury class = no injury

satisfaction_1w <= 2.911 satisfaction_2w <= 1.378 mood <= 4.445 mood_4w <= 4.789 inj_worry_4w <= 1.835 RPE_4w <= 5.599
samples = 5 samples = 3 samples = 1 samples = 90 samples = 4 samples = 29
samples = 5 samples = 529 samples = 8 samples = 5 samples = 18 samples = 2173
value = [5, 0] value = [3, 0] value = [0, 1] value = [0, 90] value = [4, 0] value = [0, 29]
value = [4, 1] value = [98, 431] value = [3, 5] value = [1, 4] value = [4, 14] value = [272, 1901]
class = injury class = injury class = no injury class = no injury class = injury class = no injury
class = injury class = no injury class = no injury class = no injury class = no injury class = no injury

mood_3w <= 4.819 shape_4w <= 0.592 shape_2w <= 0.765 fatigue <= 1.066 satisfaction_4w <= 3.245
samples = 1 samples = 4 samples = 2 samples = 2 samples = 4 samples = 1 samples = 6
samples = 527 samples = 6 samples = 12 samples = 1802 samples = 371
value = [0, 1] value = [4, 0] value = [2, 0] value = [2, 0] value = [0, 4] value = [1, 0] value = [0, 6]
value = [96, 431] value = [1, 5] value = [4, 8] value = [210, 1592] value = [62, 309]
class = no injury class = injury class = injury class = injury class = no injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury class = no injury

pleasure_1w <= 1.387 pleasure_2w <= 2.03 RPE_4w <= 5.31 inj_worry_4w <= 1.155 pleasure_3w <= 2.256 RPE_1w <= 6.292
samples = 29 samples = 1 samples = 5 samples = 4
samples = 498 samples = 8 samples = 617 samples = 1185 samples = 339 samples = 32
value = [0, 29] value = [1, 0] value = [0, 5] value = [0, 4]
value = [96, 402] value = [4, 4] value = [90, 527] value = [120, 1065] value = [61, 278] value = [1, 31]
class = no injury class = injury class = no injury class = no injury
class = no injury class = injury class = no injury class = no injury class = no injury class = no injury

RPE_3w <= 2.917 shape_4w <= 0.762 pleasure_4w <= 2.813 satisfaction_1w <= 2.186 fatigue_4w <= 1.992 mood_1w <= 3.775 mood_2w <= 3.829 RPE_1w <= 6.417
samples = 20 samples = 2 samples = 43 samples = 28
samples = 478 samples = 6 samples = 506 samples = 111 samples = 1142 samples = 126 samples = 213 samples = 4
value = [0, 20] value = [2, 0] value = [0, 43] value = [0, 28]
value = [96, 382] value = [2, 4] value = [83, 423] value = [7, 104] value = [120, 1022] value = [14, 112] value = [47, 166] value = [1, 3]
class = no injury class = injury class = no injury class = no injury
class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury

optimised for precision metric.


RPE_4w <= 4.008 sleep_qual_4w <= 3.327 pleasure_2w <= 2.446 RPE_3w <= 4.467 RPE_3w <= 5.44 pleasure_3w <= 3.719 sleep_qual_4w <= 3.078 pleasure <= 2.5 RPE_4w <= 5.671 RPE <= 3.5 shape_4w <= 0.802
samples = 13 samples = 3 samples = 14 samples = 1 samples = 3
samples = 465 samples = 3 samples = 381 samples = 125 samples = 4 samples = 107 samples = 1138 samples = 4 samples = 4 samples = 122 samples = 199
value = [0, 13] value = [0, 3] value = [0, 14] value = [1, 0] value = [0, 3]
value = [96, 369] value = [2, 1] value = [50, 331] value = [33, 92] value = [2, 2] value = [5, 102] value = [117, 1021] value = [3, 1] value = [3, 1] value = [11, 111] value = [47, 152]
class = no injury class = no injury class = no injury class = injury class = no injury
class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury

inj_worry_3w <= 0.697 RPE_1w <= 4.237 RPE_3w <= 4.513 sleep_qual_2w <= 3.007 mood_1w <= 4.568 satisfaction <= 3.323 sleep_qual_1w <= 3.705 RPE_4w <= 5.24 satisfaction_4w <= 2.639 weight <= 76.5 mood_4w <= 3.693 mood_2w <= 4.95
samples = 1 samples = 2 samples = 2 samples = 2 samples = 1 samples = 37 samples = 3 samples = 1 samples = 1 samples = 3
samples = 141 samples = 324 samples = 240 samples = 141 samples = 5 samples = 120 samples = 106 samples = 1101 samples = 6 samples = 116 samples = 9 samples = 190
value = [1, 0] value = [1, 1] value = [0, 2] value = [2, 0] value = [1, 0] value = [0, 37] value = [3, 0] value = [0, 1] value = [0, 1] value = [3, 0]
value = [40, 101] value = [56, 268] value = [42, 198] value = [8, 133] value = [4, 1] value = [29, 91] value = [4, 102] value = [117, 984] value = [3, 3] value = [8, 108] value = [6, 3] value = [41, 149]
class = injury class = injury class = no injury class = injury class = injury class = no injury class = injury class = no injury class = no injury class = injury
class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury

sleep_qual_4w <= 4.732 pleasure_2w <= 1.786 mood <= 3.336 pleasure_3w <= 2.353 inj_worry_3w <= 0.763 shape_4w <= 0.987 pleasure_3w <= 3.452 inj_worry_4w <= 0.095 fatigue_4w <= 0.824 RPE_3w <= 5.009 RPE_4w <= 5.172 pleasure_3w <= 3.602 RPE_3w <= 5.5 fatigue_2w <= 1.789 satisfaction_1w <= 2.133 past_injuries <= 3.5
samples = 4 samples = 24 samples = 1 samples = 4 samples = 2 samples = 3 samples = 6 samples = 12
samples = 137 samples = 123 samples = 201 samples = 216 samples = 4 samples = 137 samples = 91 samples = 29 samples = 18 samples = 88 samples = 896 samples = 205 samples = 4 samples = 55 samples = 61 samples = 178
value = [4, 0] value = [0, 24] value = [0, 1] value = [4, 0] value = [0, 2] value = [0, 3] value = [6, 0] value = [0, 12]
value = [36, 101] value = [12, 111] value = [44, 157] value = [42, 174] value = [2, 2] value = [6, 131] value = [27, 64] value = [2, 27] value = [3, 15] value = [1, 87] value = [84, 812] value = [33, 172] value = [3, 1] value = [7, 48] value = [1, 60] value = [41, 137]
class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury

pleasure_4w <= 2.824 shape <= 0.969 satisfaction_4w <= 2.675 height <= 186.5 age <= 30.5 fatigue_4w <= 1.706 sleep_qual_4w <= 3.609 RPE_3w <= 5.29 shape_4w <= 0.987 pleasure_2w <= 3.038 pleasure_3w <= 3.669 mood_4w <= 4.775 mood_3w <= 4.376 shape_3w <= 0.839 sleep_qual_4w <= 3.207 pleasure_2w <= 2.955 pleasure <= 3.75 shape <= 0.893 pleasure_4w <= 2.033 RPE_4w <= 6.191 sleep_qual <= 3.697
samples = 14 samples = 2 samples = 2 samples = 26 samples = 9 samples = 86 samples = 59 samples = 1 samples = 3 samples = 18 samples = 57
samples = 130 samples = 7 samples = 14 samples = 109 samples = 187 samples = 177 samples = 39 samples = 101 samples = 36 samples = 86 samples = 5 samples = 3 samples = 9 samples = 2 samples = 837 samples = 199 samples = 6 samples = 37 samples = 4 samples = 143 samples = 35
value = [0, 14] value = [2, 0] value = [0, 2] value = [0, 26] value = [0, 9] value = [0, 86] value = [0, 59] value = [0, 1] value = [3, 0] value = [0, 18] value = [0, 57]
value = [31, 99] value = [5, 2] value = [5, 9] value = [7, 102] value = [44, 143] value = [28, 149] value = [14, 25] value = [1, 100] value = [5, 31] value = [23, 63] value = [4, 1] value = [2, 1] value = [3, 6] value = [1, 1] value = [84, 753] value = [29, 170] value = [4, 2] value = [7, 30] value = [1, 3] value = [27, 116] value = [14, 21]
class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury
class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury

satisfaction_1w <= 3.137 RPE_1w <= 3.121 shape_3w <= 0.936 pleasure_1w <= 1.772 RPE <= 4.22 pleasure <= 3.5 mood_2w <= 3.928 pleasure <= 1.44 fatigue_3w <= 1.502 satisfaction_1w <= 2.68 pleasure_4w <= 2.348 satisfaction_4w <= 2.394 sleep_qual_3w <= 4.121 sleep_qual_1w <= 3.512 sleep_qual_2w <= 4.435 sleep_qual_2w <= 3.367 shape_4w <= 0.817 inj_worry_4w <= 0.425 pleasure_4w <= 3.56 satisfaction_4w <= 3.16 height <= 174.0 sleep_qual_3w <= 4.287 sleep_qual_1w <= 3.22 pleasure_1w <= 2.708
samples = 4 samples = 5 samples = 9 samples = 94 samples = 2 samples = 4 samples = 1 samples = 1 samples = 2 samples = 3 samples = 6 samples = 1 samples = 1 samples = 3 samples = 2 samples = 1 samples = 3 samples = 5
samples = 100 samples = 30 samples = 3 samples = 9 samples = 86 samples = 23 samples = 102 samples = 85 samples = 171 samples = 6 samples = 30 samples = 7 samples = 34 samples = 53 samples = 33 samples = 28 samples = 809 samples = 144 samples = 55 samples = 3 samples = 35 samples = 104 samples = 39 samples = 30
value = [4, 0] value = [0, 5] value = [0, 9] value = [0, 94] value = [2, 0] value = [4, 0] value = [0, 1] value = [0, 1] value = [2, 0] value = [3, 0] value = [0, 6] value = [0, 1] value = [1, 0] value = [3, 0] value = [2, 0] value = [1, 0] value = [0, 3] value = [0, 5]
value = [18, 82] value = [13, 17] value = [1, 2] value = [5, 4] value = [3, 83] value = [4, 19] value = [32, 70] value = [12, 73] value = [24, 147] value = [4, 2] value = [14, 16] value = [1, 6] value = [3, 31] value = [20, 33] value = [3, 30] value = [8, 20] value = [76, 733] value = [28, 116] value = [1, 54] value = [1, 2] value = [5, 30] value = [25, 79] value = [2, 37] value = [14, 16]
class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = injury class = no injury class = no injury
class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury

satisfaction <= 3.5 RPE_3w <= 3.536 RPE_4w <= 4.12 satisfaction_2w <= 2.922 RPE_2w <= 4.204 RPE_2w <= 4.354 pleasure <= 1.845 mood_3w <= 4.265 fatigue_1w <= 1.177 satisfaction_2w <= 2.659 mood_4w <= 4.429 shape_4w <= 0.806 satisfaction_1w <= 2.849 pleasure_1w <= 2.13 shape_3w <= 0.819 RPE_3w <= 5.206 pleasure <= 3.71 pleasure_1w <= 1.775 inj_worry_4w <= 0.568 satisfaction <= 2.228 past_injuries <= 4.5 il _yes <= 0.5
samples = 19 samples = 4 samples = 1 samples = 2 samples = 3 samples = 54 samples = 9 samples = 2 samples = 27 samples = 2 samples = 4 samples = 5 samples = 1 samples = 6 samples = 24 samples = 5 samples = 21 samples = 2 samples = 25 samples = 2 samples = 52 samples = 1 samples = 2 samples = 1 samples = 2 samples = 1
samples = 81 samples = 26 samples = 6 samples = 32 samples = 14 samples = 53 samples = 49 samples = 83 samples = 144 samples = 25 samples = 10 samples = 48 samples = 12 samples = 26 samples = 784 samples = 142 samples = 3 samples = 34 samples = 102 samples = 38 samples = 18 samples = 12
value = [0, 19] value = [4, 0] value = [1, 0] value = [0, 2] value = [3, 0] value = [0, 54] value = [0, 9] value = [2, 0] value = [0, 27] value = [0, 2] value = [4, 0] value = [5, 0] value = [1, 0] value = [0, 6] value = [0, 24] value = [0, 5] value = [0, 21] value = [2, 0] value = [0, 25] value = [2, 0] value = [0, 52] value = [1, 0] value = [0, 2] value = [1, 0] value = [2, 0] value = [1, 0]
value = [18, 63] value = [9, 17] value = [2, 4] value = [3, 29] value = [4, 10] value = [11, 42] value = [21, 28] value = [10, 73] value = [24, 120] value = [9, 16] value = [3, 7] value = [20, 28] value = [3, 9] value = [6, 20] value = [76, 708] value = [26, 116] value = [1, 2] value = [4, 30] value = [23, 79] value = [1, 37] value = [12, 6] value = [2, 10]
class = no injury class = injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = injury class = injury
class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury

pleasure_1w <= 1.73 pleasure_4w <= 1.741 RPE_1w <= 3.454 satisfaction_2w <= 3.026 RPE_2w <= 3.99 fatigue_4w <= 1.42 fatigue_2w <= 1.091 mood_3w <= 4.214 sleep_qual_2w <= 4.052 fatigue_1w <= 1.213 satisfaction_3w <= 3.061 fatigue_3w <= 0.317 pleasure_2w <= 2.883 fatigue <= 0.248 sleep_qual_4w <= 3.153 mood_4w <= 3.196 satisfaction_4w <= 2.26 satisfaction_2w <= 2.713 past_injuries <= 3.5 RPE_3w <= 5.823 satisfaction_1w <= 2.768 pleasure_2w <= 3.0 pleasure_1w <= 2.631
samples = 6 samples = 2 samples = 4 samples = 17 samples = 6 samples = 15 samples = 6 samples = 20 samples = 7 samples = 2 samples = 4 samples = 8 samples = 9 samples = 1 samples = 2 samples = 16 samples = 14 samples = 36 samples = 5 samples = 10 samples = 2
samples = 73 samples = 8 samples = 20 samples = 15 samples = 8 samples = 38 samples = 43 samples = 63 samples = 88 samples = 56 samples = 18 samples = 8 samples = 44 samples = 4 samples = 17 samples = 6 samples = 778 samples = 22 samples = 120 samples = 18 samples = 88 samples = 2 samples = 13
value = [0, 6] value = [2, 0] value = [0, 4] value = [0, 17] value = [0, 6] value = [0, 15] value = [0, 6] value = [0, 20] value = [0, 7] value = [2, 0] value = [4, 0] value = [0, 8] value = [0, 9] value = [1, 0] value = [0, 2] value = [0, 16] value = [0, 14] value = [0, 36] value = [5, 0] value = [0, 10] value = [2, 0]
value = [13, 60] value = [5, 3] value = [9, 11] value = [3, 12] value = [4, 4] value = [11, 27] value = [21, 22] value = [10, 53] value = [8, 80] value = [16, 40] value = [9, 9] value = [1, 7] value = [16, 28] value = [3, 1] value = [6, 11] value = [3, 3] value = [73, 705] value = [9, 13] value = [17, 103] value = [4, 14] value = [23, 65] value = [1, 1] value = [7, 6]
class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury
class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = injury

pleasure_1w <= 1.847 shape_1w <= 0.978 RPE_3w <= 3.955 satisfaction_2w <= 2.994 RPE_3w <= 4.079 RPE_3w <= 4.033 sleep_qual_4w <= 3.922 fatigue_1w <= 1.583 pleasure <= 3.75 sleep_qual_2w <= 3.997 mood_3w <= 3.584 fatigue_2w <= 1.462 RPE_4w <= 5.008 sleep_qual_2w <= 4.417 mood <= 4.559 sleep_qual_1w <= 3.162 mood_4w <= 3.282 shape <= 0.75 age <= 18.5 RPE_2w <= 4.933 satisfaction_4w <= 2.829 past_injuries <= 1.5 RPE_3w <= 5.923 satisfaction_2w <= 2.557 RPE_4w <= 5.962 RPE_3w <= 5.557
samples = 9 samples = 2 samples = 4 samples = 10 samples = 3 samples = 4 samples = 2 samples = 31 samples = 5 samples = 1 samples = 7 samples = 3 samples = 1 samples = 2 samples = 4 samples = 17 samples = 9 samples = 1 samples = 1 samples = 2
samples = 64 samples = 6 samples = 16 samples = 5 samples = 5 samples = 12 samples = 26 samples = 39 samples = 61 samples = 57 samples = 7 samples = 49 samples = 13 samples = 24 samples = 20 samples = 8 samples = 9 samples = 4 samples = 74 samples = 704 samples = 18 samples = 103 samples = 9 samples = 30 samples = 58 samples = 11
value = [0, 9] value = [0, 2] value = [0, 4] value = [0, 10] value = [3, 0] value = [4, 0] value = [2, 0] value = [0, 31] value = [0, 5] value = [1, 0] value = [0, 7] value = [3, 0] value = [0, 1] value = [0, 2] value = [0, 4] value = [0, 17] value = [0, 9] value = [1, 0] value = [0, 1] value = [0, 2]
value = [13, 51] value = [5, 1] value = [9, 7] value = [3, 2] value = [1, 4] value = [1, 11] value = [10, 16] value = [17, 22] value = [8, 53] value = [8, 49] value = [6, 1] value = [10, 39] value = [9, 4] value = [5, 19] value = [11, 9] value = [5, 3] value = [1, 8] value = [3, 1] value = [2, 72] value = [71, 633] value = [9, 9] value = [17, 86] value = [4, 5] value = [3, 27] value = [20, 38] value = [7, 4]
class = no injury class = no injury class = no injury class = no injury class = injury class = injury class = injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury
class = no injury class = injury class = injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = injury

RPE_4w <= 3.805 RPE_4w <= 3.667 RPE_4w <= 3.982 RPE_2w <= 4.03 pleasure_4w <= 2.263 RPE <= 6.5 height <= 182.5 RPE <= 6.0 RPE_1w <= 4.714 RPE_2w <= 4.989 shape_1w <= 0.804 RPE_1w <= 4.813 satisfaction_4w <= 3.085 pleasure_1w <= 2.624 pleasure_3w <= 2.792 fatigue_4w <= 1.273 satisfaction_4w <= 3.596 shape_1w <= 0.775 shape_4w <= 0.822 RPE_3w <= 4.716 pleasure_1w <= 2.328 height <= 182.646 pleasure_1w <= 2.255 satisfaction_2w <= 3.112 pleasure_3w <= 1.652 RPE_1w <= 5.695 RPE_4w <= 5.689 satisfaction_3w <= 3.067 past_injuries <= 7.5
samples = 5 samples = 1 samples = 5 samples = 2 samples = 1 samples = 4 samples = 1 samples = 11 samples = 3 samples = 3 samples = 1 samples = 6 samples = 12 samples = 4 samples = 8 samples = 1 samples = 1 samples = 3 samples = 1 samples = 3 samples = 3 samples = 18 samples = 2
samples = 8 samples = 56 samples = 11 samples = 3 samples = 23 samples = 36 samples = 55 samples = 6 samples = 53 samples = 4 samples = 29 samples = 20 samples = 9 samples = 4 samples = 12 samples = 9 samples = 11 samples = 4 samples = 73 samples = 412 samples = 292 samples = 15 samples = 96 samples = 7 samples = 6 samples = 12 samples = 46 samples = 12 samples = 9
value = [5, 0] value = [0, 1] value = [5, 0] value = [2, 0] value = [1, 0] value = [0, 4] value = [1, 0] value = [0, 11] value = [3, 0] value = [3, 0] value = [0, 1] value = [6, 0] value = [0, 12] value = [4, 0] value = [0, 8] value = [1, 0] value = [0, 1] value = [3, 0] value = [1, 0] value = [3, 0] value = [3, 0] value = [0, 18] value = [0, 2]
value = [5, 3] value = [8, 48] value = [4, 7] value = [1, 2] value = [7, 16] value = [14, 22] value = [5, 50] value = [3, 3] value = [5, 48] value = [3, 1] value = [2, 27] value = [8, 12] value = [8, 1] value = [1, 3] value = [5, 7] value = [8, 1] value = [3, 8] value = [1, 3] value = [1, 72] value = [51, 361] value = [20, 272] value = [6, 9] value = [13, 83] value = [4, 3] value = [1, 5] value = [3, 9] value = [12, 34] value = [8, 4] value = [7, 2]
class = injury class = no injury class = injury class = injury class = injury class = no injury class = injury class = no injury class = injury class = injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = injury class = injury class = injury class = no injury class = no injury
class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = injury

height <= 181.0 RPE_4w <= 2.708 pleasure_2w <= 3.059 fatigue_4w <= 1.439 satisfaction_3w <= 2.785 pleasure_1w <= 2.414 RPE_1w <= 4.546 inj_worry_2w <= 0.278 shape_1w <= 0.794 fatigue_2w <= 1.483 shape_3w <= 0.998 RPE_1w <= 5.041 fatigue_4w <= 0.17 mood_4w <= 3.345 pleasure_1w <= 2.251 mood_3w <= 4.645 satisfaction_1w <= 2.713 satisfaction_3w <= 3.801 RPE_3w <= 5.049 RPE_2w <= 4.775 RPE_1w <= 6.875 satisfaction_2w <= 2.715 RPE_1w <= 4.781 RPE_1w <= 5.961 RPE_3w <= 5.826 mood <= 3.58 past_injuries <= 9.5
samples = 3 samples = 16 samples = 2 samples = 2 samples = 1 samples = 4 samples = 3 samples = 32 samples = 3 samples = 3 samples = 2 samples = 2 samples = 24 samples = 8 samples = 1 samples = 3 samples = 1 samples = 3 samples = 8 samples = 1 samples = 2 samples = 1 samples = 3 samples = 58 samples = 3 samples = 2 samples = 1 samples = 5 samples = 8 samples = 5 samples = 5
samples = 5 samples = 40 samples = 9 samples = 19 samples = 33 samples = 23 samples = 6 samples = 47 samples = 5 samples = 12 samples = 8 samples = 9 samples = 9 samples = 15 samples = 151 samples = 261 samples = 125 samples = 167 samples = 12 samples = 33 samples = 63 samples = 5 samples = 4 samples = 22 samples = 24 samples = 7 samples = 4
value = [3, 0] value = [0, 16] value = [2, 0] value = [0, 2] value = [1, 0] value = [0, 4] value = [3, 0] value = [0, 32] value = [0, 3] value = [3, 0] value = [1, 1] value = [2, 0] value = [0, 24] value = [8, 0] value = [0, 1] value = [0, 3] value = [1, 0] value = [3, 0] value = [8, 0] value = [0, 1] value = [2, 0] value = [1, 0] value = [0, 3] value = [0, 58] value = [0, 3] value = [2, 0] value = [1, 0] value = [0, 5] value = [0, 8] value = [5, 0] value = [5, 0]
value = [2, 3] value = [8, 32] value = [2, 7] value = [7, 12] value = [11, 22] value = [5, 18] value = [3, 3] value = [2, 45] value = [2, 3] value = [2, 10] value = [6, 2] value = [2, 7] value = [1, 8] value = [1, 14] value = [10, 141] value = [41, 220] value = [3, 122] value = [17, 150] value = [6, 6] value = [1, 32] value = [12, 51] value = [2, 3] value = [3, 1] value = [9, 13] value = [3, 21] value = [3, 4] value = [2, 2]
class = injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = injury class = injury
class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury

pleasure_1w <= 1.775 RPE_1w <= 3.823 RPE_4w <= 3.768 mood_4w <= 3.411 RPE_3w <= 4.337 RPE_1w <= 4.282 pleasure_1w <= 2.231 satisfaction_2w <= 2.426 fatigue_4w <= 0.368 inj_worry_1w <= 1.057 shape_3w <= 0.964 sleep_qual_1w <= 4.858 RPE_3w <= 4.677 height <= 171.0 satisfaction_4w <= 3.457 satisfaction_4w <= 2.516 RPE_3w <= 5.439 satisfaction_4w <= 3.279 pleasure_1w <= 1.333 pleasure_1w <= 1.984 RPE_2w <= 5.649 satisfaction_3w <= 3.146 satisfaction_4w <= 3.034 fatigue <= 0.957 satisfaction_2w <= 3.155 pleasure_3w <= 3.408
samples = 2 samples = 1 samples = 5 samples = 2 samples = 2 samples = 1 samples = 3 samples = 2 samples = 9 samples = 6 samples = 2 samples = 6 samples = 1 samples = 8 samples = 7 samples = 8 samples = 2 samples = 63 samples = 2 samples = 30 samples = 2 samples = 1 samples = 1 samples = 3 samples = 13 samples = 2 samples = 3 samples = 1
samples = 3 samples = 39 samples = 4 samples = 17 samples = 18 samples = 15 samples = 3 samples = 20 samples = 4 samples = 46 samples = 3 samples = 3 samples = 65 samples = 86 samples = 259 samples = 62 samples = 165 samples = 5 samples = 7 samples = 3 samples = 61 samples = 4 samples = 16 samples = 6 samples = 11 samples = 5
value = [0, 2] value = [1, 0] value = [0, 5] value = [2, 0] value = [2, 0] value = [1, 0] value = [0, 3] value = [2, 0] value = [0, 9] value = [6, 0] value = [0, 2] value = [0, 6] value = [1, 0] value = [0, 8] value = [0, 7] value = [1, 7] value = [2, 0] value = [0, 63] value = [2, 0] value = [0, 30] value = [2, 0] value = [1, 0] value = [0, 1] value = [3, 0] value = [0, 13] value = [2, 0] value = [1, 2] value = [1, 0]
value = [2, 1] value = [7, 32] value = [2, 2] value = [5, 12] value = [3, 15] value = [8, 7] value = [2, 1] value = [3, 17] value = [1, 3] value = [1, 45] value = [2, 1] value = [2, 1] value = [9, 56] value = [1, 85] value = [39, 220] value = [3, 59] value = [15, 150] value = [1, 4] value = [5, 2] value = [1, 2] value = [10, 51] value = [1, 3] value = [4, 12] value = [5, 1] value = [3, 8] value = [1, 4]
class = no injury class = injury class = no injury class = injury class = injury class = injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = injury class = no injury class = injury class = no injury class = injury class = no injury class = injury
class = injury class = no injury class = injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury

pleasure_2w <= 1.549 pleasure_1w <= 2.475 mood_3w <= 3.385 satisfaction <= 2.471 pleasure_4w <= 2.542 satisfaction <= 3.081 inj_worry_1w <= 1.129 satisfaction_4w <= 2.824 satisfaction_2w <= 3.301 satisfaction_4w <= 3.429 satisfaction_1w <= 2.758 past_injuries <= 3.5 pleasure_2w <= 2.338 RPE_3w <= 5.604 past_injuries <= 1.0 pleasure_4w <= 2.614 satisfaction_4w <= 3.066 pleasure_4w <= 2.374 pleasure_4w <= 2.656 satisfaction_1w <= 3.317 satisfaction_3w <= 2.851
samples = 1 samples = 2 samples = 2 samples = 2 samples = 4 samples = 10 samples = 3 samples = 1 samples = 2 samples = 1 samples = 1 samples = 3 samples = 42 samples = 1 samples = 2 samples = 2 samples = 1 samples = 14 samples = 78 samples = 15 samples = 4 samples = 1 samples = 1 samples = 1 samples = 2 samples = 2 samples = 1 samples = 5 samples = 2 samples = 4 samples = 1
samples = 33 samples = 6 samples = 13 samples = 8 samples = 12 samples = 19 samples = 4 samples = 51 samples = 8 samples = 244 samples = 4 samples = 58 samples = 147 samples = 18 samples = 6 samples = 35 samples = 26 samples = 2 samples = 12 samples = 4 samples = 9
value = [0, 1] value = [2, 0] value = [0, 2] value = [2, 0] value = [0, 4] value = [0, 10] value = [3, 0] value = [0, 1] value = [2, 0] value = [1, 0] value = [1, 0] value = [0, 3] value = [0, 42] value = [0, 1] value = [2, 0] value = [2, 0] value = [0, 1] value = [0, 14] value = [0, 78] value = [0, 15] value = [0, 4] value = [1, 0] value = [0, 1] value = [1, 0] value = [0, 2] value = [0, 2] value = [0, 1] value = [5, 0] value = [2, 0] value = [0, 4] value = [1, 0]
value = [4, 29] value = [3, 3] value = [5, 8] value = [3, 5] value = [5, 7] value = [2, 17] value = [1, 3] value = [9, 42] value = [1, 7] value = [39, 205] value = [2, 2] value = [1, 57] value = [10, 137] value = [5, 13] value = [5, 1] value = [2, 33] value = [8, 18] value = [1, 1] value = [1, 11] value = [3, 1] value = [1, 8]
class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = injury
class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury

pleasure_4w <= 2.797 sleep_qual_4w <= 3.859 satisfaction_2w <= 2.934 past_injuries <= 3.5 pleasure_1w <= 1.861 satisfaction_2w <= 3.26 pleasure_2w <= 2.013 past_injuries <= 4.5 satisfaction_3w <= 2.652 mood_2w <= 3.482 RPE_1w <= 6.783 RPE_4w <= 5.344 satisfaction_1w <= 2.915
samples = 1 samples = 3 samples = 3 samples = 3 samples = 5 samples = 3 samples = 3 samples = 8 samples = 1 samples = 3 samples = 7 samples = 1 samples = 2 samples = 2 samples = 2 samples = 46 samples = 6 samples = 4 samples = 2 samples = 29 samples = 6 samples = 1 samples = 1 samples = 11 samples = 1 samples = 3 samples = 1 samples = 2 samples = 7
samples = 32 samples = 10 samples = 9 samples = 11 samples = 31 samples = 20 samples = 242 samples = 12 samples = 7 samples = 140 samples = 12 samples = 6 samples = 20
value = [1, 0] value = [0, 3] value = [3, 0] value = [3, 0] value = [0, 5] value = [3, 0] value = [3, 0] value = [0, 8] value = [1, 0] value = [0, 3] value = [0, 7] value = [1, 0] value = [2, 0] value = [2, 0] value = [0, 2] value = [0, 46] value = [0, 6] value = [4, 0] value = [1, 1] value = [0, 29] value = [0, 6] value = [0, 1] value = [1, 0] value = [0, 11] value = [1, 0] value = [3, 0] value = [0, 1] value = [1, 1] value = [0, 7]
value = [3, 29] value = [2, 8] value = [2, 7] value = [2, 9] value = [8, 23] value = [1, 19] value = [37, 205] value = [1, 11] value = [3, 4] value = [7, 133] value = [5, 7] value = [2, 4] value = [8, 12]
class = injury class = no injury class = injury class = injury class = no injury class = injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = injury class = no injury class = injury class = no injury
class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury

RPE_4w <= 3.188 sleep_qual_4w <= 3.846 RPE_4w <= 4.269 pleasure_2w <= 1.531 pleasure_1w <= 2.025 pleasure_4w <= 1.731 pleasure_1w <= 2.157 pleasure_1w <= 2.611 pleasure_4w <= 3.269 satisfaction_2w <= 3.048 sleep_qual_2w <= 3.933 pleasure_1w <= 2.301
samples = 1 samples = 1 samples = 5 samples = 5 samples = 6 samples = 19 samples = 1 samples = 4 samples = 8 samples = 3 samples = 1 samples = 2 samples = 3 samples = 3
samples = 31 samples = 9 samples = 4 samples = 5 samples = 26 samples = 41 samples = 201 samples = 4 samples = 139 samples = 10 samples = 3 samples = 17
value = [1, 0] value = [1, 0] value = [0, 5] value = [1, 4] value = [1, 5] value = [0, 19] value = [1, 0] value = [1, 3] value = [0, 8] value = [0, 3] value = [1, 0] value = [2, 0] value = [0, 3] value = [3, 0]
value = [2, 29] value = [1, 8] value = [2, 2] value = [4, 1] value = [4, 22] value = [2, 39] value = [35, 166] value = [3, 1] value = [6, 133] value = [3, 7] value = [2, 1] value = [5, 12]
class = injury class = injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = injury
class = no injury class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury

RPE_4w <= 3.137 mood_3w <= 3.643 RPE_2w <= 4.403 pleasure_3w <= 2.284 satisfaction_2w <= 2.14 role_Midfielder <= 0.5 RPE_4w <= 4.886 past_injuries <= 4.5 RPE_2w <= 5.548 satisfaction <= 2.409 RPE_1w <= 5.677
samples = 18 samples = 5 samples = 1 samples = 1 samples = 4 samples = 13 samples = 37 samples = 3 samples = 1 samples = 2 samples = 2 samples = 1 samples = 2
samples = 13 samples = 4 samples = 3 samples = 13 samples = 4 samples = 28 samples = 173 samples = 92 samples = 47 samples = 8 samples = 15
value = [0, 18] value = [0, 5] value = [1, 0] value = [0, 1] value = [4, 0] value = [0, 13] value = [0, 37] value = [3, 0] value = [0, 1] value = [2, 0] value = [2, 0] value = [0, 1] value = [2, 0]
value = [2, 11] value = [1, 3] value = [1, 2] value = [4, 9] value = [2, 2] value = [12, 16] value = [23, 150] value = [1, 91] value = [5, 42] value = [1, 7] value = [3, 12]
class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = injury class = injury class = no injury class = injury
class = no injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = no injury

pleasure_4w <= 2.13 pleasure_3w <= 1.666 pleasure <= 2.145 pleasure_1w <= 3.342 RPE <= 6.5 satisfaction_1w <= 2.785 RPE_1w <= 5.295 RPE_4w <= 5.576
samples = 7 samples = 6 samples = 2 samples = 2 samples = 2 samples = 1 samples = 6 samples = 1 samples = 5 samples = 33 samples = 80 samples = 1 samples = 1 samples = 7
samples = 7 samples = 3 samples = 23 samples = 140 samples = 12 samples = 46 samples = 3 samples = 12
value = [0, 7] value = [2, 4] value = [0, 2] value = [1, 1] value = [0, 2] value = [1, 0] value = [0, 6] value = [1, 0] value = [5, 0] value = [0, 33] value = [0, 80] value = [1, 0] value = [1, 0] value = [0, 7]
value = [4, 3] value = [1, 2] value = [7, 16] value = [23, 117] value = [1, 11] value = [4, 42] value = [2, 1] value = [1, 11]
class = no injury class = no injury class = no injury class = injury class = no injury class = injury class = no injury class = injury class = injury class = no injury class = no injury class = injury class = injury class = no injury
class = injury class = no injury class = no injury class = no injury class = no injury class = no injury class = injury class = no injury

pleasure_1w <= 2.241 pleasure_3w <= 1.695 sleep_qual_2w <= 3.793 satisfaction_3w <= 3.045 satisfaction <= 3.64 pleasure_2w <= 3.414 satisfaction_4w <= 2.433
samples = 3 samples = 1 samples = 6 samples = 11 samples = 1 samples = 1 samples = 1 samples = 2 samples = 8
samples = 4 samples = 2 samples = 17 samples = 136 samples = 4 samples = 45 samples = 4
value = [3, 0] value = [0, 1] value = [0, 6] value = [0, 11] value = [1, 0] value = [1, 0] value = [0, 1] value = [2, 0] value = [0, 8]
value = [1, 3] value = [1, 1] value = [7, 10] value = [20, 116] value = [3, 1] value = [3, 42] value = [1, 3]
class = injury class = no injury class = no injury class = no injury class = injury class = injury class = no injury class = injury class = no injury
class = no injury class = injury class = no injury class = no injury class = injury class = no injury class = no injury

sleep_qual_4w <= 4.011 satisfaction_1w <= 2.955 RPE_2w <= 5.092


samples = 3 samples = 1 samples = 1 samples = 1 samples = 6 samples = 12 samples = 3 samples = 1 samples = 24 samples = 1 samples = 3
samples = 11 samples = 124 samples = 21
value = [0, 3] value = [1, 0] value = [1, 0] value = [0, 1] value = [0, 6] value = [0, 12] value = [3, 0] value = [0, 1] value = [0, 24] value = [1, 0] value = [0, 3]
value = [7, 4] value = [20, 104] value = [3, 18]
class = no injury class = injury class = injury class = no injury class = no injury class = no injury class = injury class = no injury class = no injury class = injury class = no injury
class = injury class = no injury class = no injury

pleasure <= 0.5 BMI <= 22.68 pleasure_1w <= 2.708 satisfaction <= 3.64 satisfaction_4w <= 3.129
samples = 3
samples = 8 samples = 115 samples = 9 samples = 3 samples = 18
value = [0, 3]
value = [7, 1] value = [16, 99] value = [4, 5] value = [2, 1] value = [1, 17]
class = no injury
class = injury class = no injury class = no injury class = injury class = no injury

satisfaction_4w <= 2.267 past_injuries <= 0.5 RPE <= 2.0


samples = 1 samples = 7 samples = 3 samples = 2 samples = 1 samples = 15 samples = 3
samples = 75 samples = 40 samples = 6
value = [0, 1] value = [7, 0] value = [3, 0] value = [2, 0] value = [0, 1] value = [1, 14] value = [0, 3]
value = [14, 61] value = [2, 38] value = [1, 5]
class = no injury class = injury class = injury class = injury class = no injury class = no injury class = no injury
class = no injury class = no injury class = no injury

RPE_1w <= 4.845 pleasure_4w <= 2.552


samples = 1 samples = 27 samples = 1 samples = 5
samples = 74 samples = 13
value = [1, 0] value = [0, 27] value = [1, 0] value = [0, 5]
value = [13, 61] value = [2, 11]
class = injury class = no injury class = injury class = no injury
class = no injury class = no injury

height <= 190.0

Figure A1. Complete decision tree learnt on questionnaires dataset for one-month injury prediction
samples = 7 samples = 4 samples = 9
samples = 67
value = [0, 7] value = [0, 4] value = [2, 7]
value = [13, 54]
class = no injury class = no injury class = no injury
class = no injury

samples = 38 samples = 29
value = [8, 30] value = [5, 24]
class = no injury class = no injury
18 of 20
Appl. Sci. 2020, 10, 5261 19 of 20

References
1. Della Villa, F.; Mandelbaum, B.R.; Lemak, L.J. The Effect of Playing Position on Injury Risk in Male Soccer
Players: Systematic Review of the Literature and Risk Considerations for Each Playing Position. Am. J. Orthop.
2018, 47, 1–11. [CrossRef] [PubMed]
2. Jones, C.M.; Griffiths, P.C.; Mellalieu, S.D. Training Load and Fatigue Marker Associations with Injury and Illness:
A Systematic Review of Longitudinal Studies; Springer International Publishing: Berlin/Heidelberg, Germany,
2017; Volume 47.
3. Gómez-Piqueras, P.; Gonzalez-Villora, S.; Sainz de Baranda Andujar, M.; Contreras-Jordan, O. Functional
Assessment and Injury Risk in a Professional Soccer Team. Sports 2017, 5, 9. [CrossRef] [PubMed]
4. Gabbett, T.J. The development and application of an injury prediction model for noncontact, soft-tissue
injuries in elite collision sport athletes. J. Strength Cond. Res. 2010, 24, 2593–2603. [CrossRef] [PubMed]
5. Borresen, J.; Ian Lambert, M.; Lambert, M.I. The quantification of training load, the training response and the
effect on performance. Sports Med. 2009, 39, 779–795. [CrossRef]
6. Impellizzeri, F.M.; Rampinini, E.; Coutts, A.J.; Sassi, A.; Marcora, S.M. Use of RPE-based training load in
soccer.Med. Sci. Sports Exerc. 2004, 36, 1042–1047. [CrossRef]
7. Casamichana, D.; Castellano, J.; Calleja-Gonzalez, J.; RomaN, J.S.; Castagna, C. Relationship between
indicators of training load in soccer players. J. Strength Cond. Res. 2013, 27, 369–374. [CrossRef]
8. Randers, M.B.; Mujika, I.; Hewitt, A.; Santisteban, J.; Bischoff, R.; Solano, R.; Zubillaga, A.; Peltola, E.;
Krustrup, P.; Mohr, M. Application of four different football match analysis systems: A comparative study.
J. Sports Sci. 2010, 28, 171–182. [CrossRef]
9. Vigne, G.; Gaudino, C.; Rogowski, I.; Alloatti, G.; Hautier, C. Activity profile in elite Italian soccer team. Int. J.
Sports Med. 2010, 31, 304–310. [CrossRef]
10. Di Salvo, V.; Baron, R.; Tschan, H.; Calderon Montero, F.J.; Bachl, N.; Pigozzi, F. Performance characteristics
according to playing position in elite soccer. Int. J. Sports Med. 2007, 28, 222–227. [CrossRef]
11. Carling, C.; Bloomfield, J.; Nelsen, L.; Reilly, T. The role of motion analysis in elite soccer: Contemporary
performance measurement techniques and work rate data. Sports Med. 2008, 38, 839–862. [CrossRef]
12. Colby, M.J.; Dawson, B.; Heasman, J.; Rogalski, B.; Gabbett, T.J. Accelerometer and GPS-derived running
loads and injury risk in elite Australian footballers. J. Strength Cond. Res. 2014, 28, 2244–2252. [CrossRef]
[PubMed]
13. Akenhead, R.; Nassis, G.P. Training load and player monitoring in high-level football: Current practice and
perceptions. Int. J. Sports Physiol. Perform. 2016, 11, 587–593. [CrossRef] [PubMed]
14. Raya-Gonzalez, J.; Nakamura, F.Y.; Castillo, D.; Yanci, J.; Fanchini, M. Determining the relationship between
internal load markers and noncontact injuries in young elite soccer players. Int. J. Sports Physiol. Perform.
2019, 14, 421–425. [CrossRef] [PubMed]
15. Haddad, M.; Padulo, J.; Chamari, K. The usefulness of session rating of perceived exertion for monitoring
training load despite several influences on perceived exertion. Int. J. Sports Physiol. Perform. 2014, 9, 882–883.
[CrossRef] [PubMed]
16. Malone, S.; Roe, M.; Doran, D.A.; Gabbett, T.J.; Collins, K. High chronic training loads and exposure to bouts
of maximal velocity running reduce injury risk in elite Gaelic football. J. Sci. Med. Sport 2017, 20, 250–254.
[CrossRef] [PubMed]
17. Bartlett, J.D.; O’Connor, F.; Pitchford, N.; Torres-Ronda, L.; Robertson, S.J. Relationships between internal and
external training load in team-sport athletes: Evidence for an individualized approach. Int. J. Sports Physiol.
Perform. 2017, 12, 230–234. [CrossRef]
18. Claudino, J.G.; de Capanema, D.O.; de Souza, T.V.; Serrao, J.C.; Machado Pereira, A.C.; Nassis, G.P.
Current Approaches to the Use of Artificial Intelligence for Injury Risk Assessment and Performance
Prediction in Team Sports: A Systematic Review. Sports Med. Open 2019, 5, 28. [CrossRef]
19. Rossi, A.; Pappalardo, L.; Cintia, P.; Iaia, F.M.; Fernandez, J.; Medina, D. Effective injury forecasting in soccer
with GPS training data and machine learning. PLoS ONE 2018, 13, e0201264. [CrossRef] [PubMed]
20. Roe, G.; Darrall-Jones, J.; Black, C.; Shaw, W.; Till, K.; Jones, B. Validity of 10 Hz GPS and Timing Gates
for Assessing Maximum Velocity in Professional Rugby Union Players. Int. J. Sports Physiol. Perform. 2017,
12, 836–839. [CrossRef]
Appl. Sci. 2020, 10, 5261 20 of 20

21. Rampinini, E.; Alberti, G.; Fiorenza, M.; Riggio, M.; Sassi, R.; Borges, T.O.; Coutts, A.J. Accuracy of GPS
devices for measuring high-intensity running in field-based team sports. Int. J. Sports Med. 2015, 36, 49–53.
[CrossRef]
22. Rampinini, E.; Bishop, D.; Marcora, S.M.; Ferrari Bravo, D.; Sassi, R.; Impellizzeri, F.M. Validity of simple
field tests as indicators of match-related physical performance in top-level professional soccer players. Int. J.
Sports Med. 2007, 28, 228–235. [CrossRef] [PubMed]
23. Di Salvo, V.; Gregson, W.; Atkinson, G.; Tordoff, P.; Drust, B. Analysis of high intensity activity in premier
league soccer. Int. J. Sports Med. 2009, 30, 205–212. [CrossRef] [PubMed]
24. Barrett, S.; Midgley, A.; Lovell, R. PlayerLoadTM: Reliability, convergent validity, and influence of unit
position during treadmill running. Int. J. Sports Physiol. Perform. 2014, 9, 945–952. [CrossRef] [PubMed]
25. Fisher, R.A. The Use of Multiple Measurements in Taxonomic Problems. Ann. Eugen. 1936, 7, 179–188.
[CrossRef]
26. McLachlan, G. Discriminant Analysis and Statistical Pattern Recognition; Wiley: Hoboken, NJ, USA, 2004.
27. Maron, M.E. Automatic Indexing: An Experimental Inquiry. J. ACM 1961, 8, 404–417. [CrossRef]
28. Rish, I. An empirical study of the naive Bayes classifier. In Proceedings of the International Joint Conference
Artificial Intelligence 2001 Work Empir Methods Artificial Intelligence, Seattle, WA, USA, 4–10 August 2001;
pp. 41–46.
29. Breiman, L.; Friedman, J.; Stone, C.J. Classification Algorithms and Regression Trees. Classif. Regres. Trees
1984, 246–280.
30. Breiman, L. Random Forests. Mach. Learn. 2001, 45, 5–32. [CrossRef]
31. Boser, B.E.; Guyon, I.M.; Vapnik, V.N. A training algorithm for optimal margin classifiers. In Proceedings of
the 5th Annual Workshop on Computational Learning Theory (COLT0 92), Pittsburgh, PA, USA, 27–29 July
1992; pp. 144–152.
32. Werbos, P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. Ph.D. Thesis,
Department of Applied Mathematics, Harvard University, 1974, unpublished.
33. McCulloch, W.S.; Pitts, W.A. logical calculus nervous activity. Bull. Math. Biol. 1943, 52, 99–115. [CrossRef]
34. Rosenblatt, F. Frosenblatt. Psychol. Rev. 1958, 65, 1–23.
35. Jebara, T. Machine Learning: Discriminative and Generative; Kluwer Academic; Springer: Berlin/Heidelberg,
Germany, 2004.
36. Jaspers, A.; De Beéck, T.O.; Brink, M.S.; Frencken, W.G.; Staes, F.; Davis, J.J.; Helsen, W.F. Relationships
between the external and internal training load in professional soccer: What can we learn from machine
learning? Int. J. Sport. Physiol. Perform. 2018, 13, 625–630. [CrossRef]
37. Saw, A.E.; Main, L.C.; Gastin, P.B. Monitoring the athlete training response: Subjective self-reported measures
trump commonly used objective measures: A systematic review. Br. J. Sport. Med. 2016, 50, 281–291.
[CrossRef] [PubMed]
38. Halson, S.L. Monitoring training load to understand fatigue in athletes. Sport. Med. 2014, 44, 139–147.
[CrossRef] [PubMed]
39. Clemente, F.M.; Mendes, B.; Nikolaidis, P.T.; Calvete, F.; Carrico, S.; Owen, A.L. Internal training load and
its longitudinal relationship with seasonal player wellness in elite professional soccer. Physiol. Behav. 2017,
179, 262–267. [CrossRef] [PubMed]

c 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).

View publication stats

You might also like