# Clustering on the Chicago Array of Things: Spotting Anomalies in the Internet of Things Records
## 5 Conclusions  
In this work, we discuss the Chicago Array of Things (AoT), its usefulness for anomaly detection, and the capability of three well-known clustering algorithms (K-Means, DBSCAN, and H-DBSCAN) in sensor-level clustering to label the dataset. We have shown that at the sensor level, these algorithms are capable of automatically (without user input) separating the data in cases where there are large amounts of visually discernible anomalies; that is, anomalies that, when seen by a user, would be flagged as such, without the need to develop specific rules to do so. The drawback of this approach is that, by focusing on the sensor level, these algorithms lack the context of multi-dimensional data (for instance, treating all sensors on a node as a single multi-dimensional data point) and spatial and temporal influences. At the sensor level, when taking into account binary classification (anomalous/non-anomalous), the K-Means algorithm, though simpler, is better suited for the task of determining these heuristic anomalies than the more complex DBSCAN and HDBSCAN algorithms. However, it has drawbacks (such as clustering NaN values as its cluster or clustering based on other factors when very few heuristic anomalies exist in the data). The results of this work show the potential for the Chicago AoT to be used as a tool for training anomaly detection models by implementing more robust clustering mechanisms with the data. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Node** & **Sensor** & **DB Score** \\ \hline
001e0610f02f & bmp180 & 0.5211068325684747 \\
001e0610f02f & htu21d & 0.5322988964134147 \\
001e0610f02f & pr103j2 & 17.36570049090865 \\
001e0610f02f & tmp112 & 0.4729803974388458 \\
001e0610f02f & tsys01 & not clustered \\ \hline
001e06113d20 & bmp180 & 0.7462073297124467 \\
001e06113d20 & htu21d & 0.5838881087020173 \\
001e06113d20 & pr103j2 & 0.013257589483531482 \\
001e06113d20 & tmp112 & 0.36487164730951704 \\
001e06113d20 & tsys01 & not clustered \\ \hline
001e0610 ba3b & bmp180 & 0.9228684923154065 \\
001e0610 ba3b & htu21d & na \\
001e0610 ba3b & pr103j2 & 0.01511222997279345 \\
001e0610 ba3b & tmp112 & na \\
001e0610 ba3b & tsys01 & not clustered \\ \hline
001e06113f54 & bmp180 & 0.9694545711960667 \\
001e06113f54 & htu21d & 1.56414130504102 \\
001e06113f54 & pr103j2 & 17.82433574172976 \\
001e06113f54 & tmp112 & 0.5977439467700165 \\
001e06113f54 & tsys01 & not clustered \\ \hline \hline \end{tabular}
\end{table} 
Table 8: The Davies–Bouldin scores for each node–sensor combination, H-DBSCAN algorithm. **Author Contributions:** Conceptualization, K.D. and A.H.; methodology, K.D., A.H. and C.Y.K. ; software, K.D. ; validation, K.D. ; formal analysis, K.D. ; investigation, K.D. ; resources, K.D., A.H. and C.Y.K. ; data curation, K.D. ; writing--original draft preparation, K.D. ; writing--review and editing, K.D., A.H. and C.Y.K. ; visualization, K.D., A.H. and C.Y.K. ; supervision, A.H.; project administration, A.H.; funding acquisition, A.H. All authors have read and agreed to the published version of the manuscript. **Funding:** This research received no external funding. **Data Availability Statement:** The Chicago Array of Things is available at [[https://github.com/waggle-sensor/waggle/blob/master/data/README.md](https://github.com/waggle-sensor/waggle/blob/master/data/README.md)]([https://github.com/waggle-sensor/waggle/blob/master/data/README.md](https://github.com/waggle-sensor/waggle/blob/master/data/README.md)). The National Oceanographic and Atmospheric Administration Great Lakes Environmental Research Laboratory data is available at [[https://www.ncdc.noaa.gov/cdo-web/datasets](https://www.ncdc.noaa.gov/cdo-web/datasets)]([https://www.ncdc.noaa.gov/cdo-web/datasets](https://www.ncdc.noaa.gov/cdo-web/datasets)). NVIDIA RAPIDS is available at [[https://rapids.ai/](https://rapids.ai/)]([https://rapids.ai/](https://rapids.ai/)).