No Code: virtual sensors without a Python environment

The usual route to a sensor model runs through a Python environment, a notebook and a set of libraries that have to fit together. In Data Sensors the virtual sensor is built in the same application the measurement data is analysed in.

What is not needed here

No Python installation and no package versions that have to fit together. No notebook to maintain. No training scripts to keep in step between workstations. No conversion chain from a training format into a deployment format. Data Sensors is a desktop application for Windows and macOS.

Automatic hyperparameter selection

Model accuracy depends on the hyperparameters: the number of trees, the maximum depth, the learning rate, the number of layers, the neurons per layer. Determining them is normally a separate, iterative work step. In Data Sensors it runs automatically: all three model types optimise their own hyperparameters, by Bayesian optimisation, Random Search, Grid Search or a surrogate strategy, according to the compute time available.

Preselecting the model family is not required either. Model Competition trains random forest, XGBoost and neural network candidates at once against the same channels and sets them side by side in a leaderboard, with validation RMSE, R², training time and a fit diagnosis.

Model Competition setup showing Random Forest, XGBoost, and Neural Network competitors selected for training

Derived input quantities: a formula rather than a script

Sometimes the informative input quantity is not itself recorded but follows from two others (a power from torque and speed, for instance). Calculated signals cover that: you enter the expression in a formula editor, the result appears as a regular signal and is available to training as an input channel.

Calculated Signals panel defining a new signal named power from the expression torque times motor_speed

Code generation

Export produces, from the trained model, a standalone implementation of the prediction function in C, C++, Python or MATLAB, with no dependency on Data Sensors and no runtime library. The result is regular source code that can be checked in, reviewed and compiled like any other.

What No Code does not mean

The programming work is removed, the engineering judgement is not. Which channels are plausible as inputs, whether a measurement covers the relevant operating range, and whether a result is physically plausible are still assessed by the responsible department. Data Sensors replaces the tool chain, not the technical assessment of the model.

One thing that helps here is that evaluation does not take place on the training data but on a held-out validation split, and for sufficiently large data sets on a separate test split as well, used neither for training nor for model selection. An over-optimistic result therefore shows up before the model reaches an ECU.