## 5 Evaluation and Discussion
### Decentralized Data Mining
#### 5.1.1 Experimental Setting  
For the purpose of the simulation of our proposed DDM algorithm, we used the air-quality data collected at the \"Mrakova Farm\" in Bled (Slovenia) during a period of the last half of the year 2020. The data consisted of the air-quality measurements (described in more detail later in this section) from two sensors (one placed on the ground floor and the other on the first floor inside the farmhouse) operating at a 10 s interval from 24 June to 22 December 2020.  
We decided to use the data from one sensor only (sensor 1--placed on the ground) because we wanted to avoid dealing with concept drift, since values measured by sensor 1 and those measured by sensor 2 were quite different. The quantities that were measured by the sensors are outlined in Table 1 and include: air temperature (\(T\)), relative humidity (\(RH\)), \(CO_{2}\) level (\(CO_{2}\)), air pressure (\(P\)), ambient light (\(AL\)), and particulate matter particles of size less than 10 \(\upmu\)m (\(PM_{10}\)).  
Table 1 summarizes the six measured variables, where the first five were chosen as independent ones (attributes), and \(PM10\) as the dependent one (class). The task was thus to learn a decision tree that will use the five attributes (\(T\), \(RH\), \(CO_{2}\), \(P\) and \(AL\)) to predict the class (\(PM_{10}\)).  
Our initial dataset, after removing out-of-range measurements (see: Table 1--Value range), contained 951.897 instances--time-stamped sensor measurements of 5 attribute values and 1 class value. We then removed a hold-out set of the last 20% (190.379) of these instances for testing--the test set, leaving in the training set the first 80% (761.518) of instances (a standard k-fold cross-validation evaluation scheme is out of the question here because of the time-series nature of the data). A more elaborate train-test scheme could have been used, but for the purpose of our comparison, it would make no difference.  
The experiments were then executed using the WEKA [72] and MOA [65] ML work-benches. Models were learned on the training set and evaluated on the test set. Since we wanted to pursue a classification task, we first discretized the class variable (\(PM_{10}\)) into 5 bins using the equal-frequency discretization provided in WEKA--the data were discretized even before splitting them into the train and test sets.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Variable** & **Units** & **Value Range** \\ \hline \(T\) & °C & 0–30 \\ \(RH\) & \% & 40–90 \\ \(CO_{2}\) & ppm & 400–1700 \\ \(P\) & hPa & 910–1015 \\ \(AL\) & lux & 0–50 \\ \(PM_{10}\) & \(\upmu\)g/m\({}^{3}\) & 0–2000 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Variables measured by the sensors at “Mrakova Farm”.  
Furthermore, for the purpose of simulating a sensor network, we split the training set into 10 equal subsets, assigning instances \(i\), \(i+10\), \(i+20\), \(i+30\),... to the \(i\)-th subset (where \(i=1\ldots 10\)). In this way, we simulated collecting the data by 10 instead of just 1 sensor. Because all 10 are just subsets of the same set of measurements of the same phenomenon, there will also be no concept drift, when we later use this data to incrementally learn a decision tree.