# Audio, Image, Video, and Weather Datasets for Continuous Electronic Beehive Monitoring
## 2 Audio Datasets
RFE is a wrapper-based method that iteratively fits a given model to a given dataset, computes the feature importance coefficient of each feature, and eliminates a specified number of least important features until the target number of features is selected. We varied the target number of features (i.e., the hyperparameter n_features_to_select in the scikit-learn library) from 1 to 34 and eliminated 1 feature at each iteration. The feature importance is provided by the scikit-learn model object's coeff_ or feature_importances_attribute [23]. RFE cannot be used on models (e.g., KNN) that do not implement these attributes. SFS is a greedy search method that provides a reasonable alternative to the exhaustive search through each feature subset of the feature power set, whose cardinality, in our case, is 23. SFS reduces the dimensionality of the feature space by adding or removing one feature at a time on the basis of the model's performance. The iteration stops when the target number of features is selected. There are two types of SFS methods: forward selection and backward selection. Forward selection starts with an empty set of features. Given a model \(M\) and \(n\) features, \(n\) instances of \(M\) are trained for each feature. The validation accuracy of each instance is \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Model** & **Dataset** & **Test. Acc. (\%)** & **Valid. Acc. (\%)** \\ \hline KNN & BUZZ1 & 99.58 & 83.21 \\  & BUZZ2 & 98.84 & 90.83 \\  & BUZZ3 & 77.49 & 86.68 \\ \hline RF (100 trees) & BUZZ1 & 99.54 & **98.43** \\  & BUZZ2 & 99.05 & 90.46 \\  & BUZZ3 & 79.16 & **97.91** \\ \hline LR & BUZZ1 & 96.11 & 94.78 \\  & BUZZ2 & 77.78 & **95.33** \\  & BUZZ3 & 79.97 & 95.32 \\ \hline SVM (One vs. Rest) & BUZZ1 & 99.17 & 98.00 \\  & BUZZ2 & 97.64 & 72.46 \\  & BUZZ3 & 85.21 & 95.55 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Model accuracies with 13 MFCCs; best validation accuracies are in bold. \begin{table}
\begin{tabular}{c l l l} \hline \hline
**Dataset** & **Model** & **Test. Acc. (\%)** & **Valid. Acc. (\%)** \\ \hline BUZZ1 & ConvNet & 99.93 & 95.21 \\  & RF & 99.54 & **98.43** \\ \hline BUZZ2 & ConvNet & 95.67 & **96.53** \\  & LR & 77.78 & 95.33 \\ \hline BUZZ3 & ConvNet & 93.04 & 96.97 \\  & RF & 79.16 & **97.91** \\ \hline \hline \end{tabular}
\end{table} 
Table 5: ConvNet, RF, and LR accuracies on BUZZ1, BUZZ2, and BUZZ3; best validation accuracies are in bold. computed and the feature that results in the greatest classification accuracy is added to the initially empty set of optimal features. The process continues with \(n-1\) instances of the model \(M\) trained with each of the remaining \(n-1\) features and the previously selected feature, and the next best feature is added to the set of optimal features. The process continues until the target number of features is selected. The backward selection method is the reverse of the forward selection. It trains a model on the entire feature set first and then removes one feature per iteration so that the feature being removed is the one that contributes the most to the model's classification accuracy upon its removal. This process continues until the target number of features is selected. In our investigation, we used sequential forward selection. Thus, the abbreviation SFS in the remainder of the article refers to sequential forward selection. Table 6 summarizes the results of our experiments with RFE and SFS on BUZZ1, BUZZ2, BUZZ3, and BUZZ4. On BUZZ1, the best validation accuracy was achieved by an RF of 100 trees for which 5 features were selected with RFE. On BUZZ2 and BUZZ3, the best validation accuracies were achieved by KNN with 7 and 6 features, respectively, selected by SFS. On BUZZ4, the best validation accuracy was achieved with SVM with 11 features selected by RFE. Table 7 shows the features selected by RFE and SFS for the best models on each dataset.