Skip to content

Variadic Function Definitions

As part of a move to improve the ease of use of machine learning functionality within the KX libraries, various sections of the ML Toolkit, along with newly added functionality, have been rewritten using an experimental variadic function definition API. This change to function signatures is intended to reduce the barrier to entry for users who are new to machine learning and wish to make use of the provided ML functionality using specified default parameters.

By way of definition, a variadic function is one that takes a variable number of parameters based on the desired operation of the function in question. Within the context of the ML Analytics library this means that a function is expected to:

  1. Take a set number of required parameters based on the model i.e. features and target for supervised models or just features for unsupervised models.
  2. Have optional additional parameters defined based on a users desire to tune the performance and expected behaviour of a model.


An introduction to variadic function calls can be found here with an explanation of different applications broken into the following sub-sections:

  1. Clustering models
  2. Online models
  3. Time Series models
  4. Statistical models


This functionality is part of an experimental API intended to provide an entry point to machine learning and kdb+/q for new developers.