How we used clustering to strengthen machine understanding

For a client in the mining industry, we developed machine learning models that understand and learn machine states and behaviors without human intervention. In a data explorer tool, these states and behaviors were visualized in a way that enabled discussion with subject matter experts, with the goal of deriving optimized machine configurations.


Our customer is a large industrial engineering company whose services include building mining equipment. They wanted to add data-driven and analytics-based software products to their traditional hardware-based business in order to generate new revenue channels. One problem that they aimed to tackle along this path was automatically understanding the different states of a machine—including how those states change and depend on one another. This was vital to optimizing the machine settings and increasing the equipment’s lifetime value.


At SPRYFOX, we first conducted experiments on clustering algorithms to automatically generate machine states and visualize the transition between those states. A crucial step was ensuring our algorithms—from a plethora of sensor and log data—were able to downscale to a few explainable and important features, in order to help the user understand the analytics output.

Explainability of the automatically-identified machine states proved essential, which is why we provided a special visualization software that allowed the customer to explore, understand, name, and configure the states. The resulting explainability was achieved on three levels:

  1. Data combinations, or the typical variable ranges for each state.
  2. Time, or the variability for each state.
  3. Transition, or the typical transition behaviors between states.


Our final solution was a sophisticated data explorer with a strong emphasis on data explainability and easy-to-understand user interfaces. Using this software, our customer could easily understand machine behavior, discuss it with subject matter experts, and derive optimized machine configurations.