Edge Impulse Now Supports Classical ML Models from Scikit-Learn

By default, Edge Impulse supports neural networks (deep learning) for most of its classification and regression models. While these are great for complex problems, they are often computationally expensive and difficult to train. Sometimes, you need a simpler solution, which means you can run with lower power and reduce BOM costs!

Good news: Enterprise customers can now utilize classical machine learning (ML) blocks to optimize their models for fast execution and power efficiency. See this tutorial to get started using classical ML models on Edge Impulse.

We have implemented these modules using scikit-learn, which is an extremely popular ML package used to develop and deploy models used in real-world applications. Once trained in scikit-learn, the inference functions for models are converted to Jax code, which is a linear algebra library. That model is then converted to a TensorFlow Lite (float 32) model, which will run on a variety of platforms.

Classical ML refers to the traditional algorithms that predate deep learning and complex neural networks. These classical techniques, such as logistic regression, support vector machines (SVMs), and decision trees, can be executed quickly and efficiently, but they depend heavily on the process of feature engineering.

Unlike deep learning models that can automatically extract and learn features from raw data, classical ML models often require feature engineering, which involves human intervention and domain expertise. Edge Impulse offers several feature extraction methods (known as processing blocks) that work well for various problems, including audio and vibration analysis, heart rate analysis, and image processing.

Additionally, classical ML models are easier to understand and interpret out of the box than complex deep learning models. The simpler algorithms and structures used in traditional models make it easier to understand the relationship between input features and output predictions. Such interpretability is crucial in many applications, such as medical devices where ML applications must be able to offer insights into their decision-making process.

The Edge Impulse platform supports a few classical ML models right now, including anomaly detection (K-means) and anomaly detection (GMM). The new classical ML blocks offer the ability to do classification and regression with popular algorithms (we plan to add more later):

Understanding which processing block to use with which ML model can be tricky. As a result, we highly recommend using the EON Tuner to guide you. This autoML tool will test various combinations of processing and ML blocks (including classical ML models) to determine the best combination of accuracy, speed, and memory utilization.

If you would like to use classical ML in your Edge Impulse project or need help building a solution for your particular application, please contact us for enterprise pricing.


Are you interested in bringing machine learning intelligence to your devices? We're happy to help.

Subscribe to our newsletter