Fun with machine learning and Particle public event data

Feeling the need to solve a machine learning problem with Particle community data, I thought it would be interesting to classify Particle’s public event data using only sensor signals themselves (no time, names, or other information). This type of unsupervised machine learning problem (’s uses a kmeans algorithm), is useful for problems like classification of activity levels from accelerometer data (think Fitbit or iPhone Health).

So, I sampled public temperature and humidity events (the most common events), using Particle subscribe, for about an hour (~5000 events) yesterday (See Top Plot below) from a total of 14 (Humidity) and 18 (Temperature) sensors. For my purposes, humidity data is denoted Group “1” and Temperature data is denoted Group “0” for my learning problem. I then sent just the 5000 raw sensor measurements to our API cluster endpoint to predict whether a given data point was Group “1” or “0”. A sample of the actual versus predicted groups are in the bottom plot. In all, the clustering performed well with a composite accuracy (using F1 scores) of 67% in correctly predicting humidity versus temperature events.

As always, we are open to feedback or comments.

Mike and the Team