Machine-learning toolkit
The toolkit contains libraries and scripts that provide kdb+/q users with general-use functions and procedures to perform machine-learning tasks on a wide variety of datasets.
The toolkit contains:
- Utility functions relating to important aspects of machine-learning including data preprocessing, statistical metrics, and various other functionality useful in many machine-learning applications contained under utils.
- An implementation of the FRESH (FeatuRe Extraction and Scalable Hypothesis testing) algorithm in q. This lets a kdb+/q user perform feature-extraction and feature-significance tests on structured time-series data for forecasting, regression and classification.
- Implementations of a number of cross validation and grid search procedures. These allow kdb+/q users to validate the performance of machine learning models when exposed to new data, test the stability of models over time or find the best hyper-parameters for tuning their models.
Over time the machine-learning functionality in this library will be extended to include;
- q-specific implementations of machine-learning algorithms
- broader functionality
Requirements
The following requirements cover all those needed to run the libraries in the current build of the toolkit.
A number of Python dependencies also exist for the running of embedPy functions within both the the machine-learning utilities and FRESH libraries. These can be installed as outlined at
KxSystems/ml using Pip
pip install -r requirements.txt
or Conda
conda install --file requirements.txt
Running notebooks
Running notebooks within the FRESH section requires both JupyterQ and embedPy. However this is not a requirement for the toolkit itself.
Installation
Install and load all libraries.
q)\l ml/ml.q
q).ml.loadfile`:init.q
This can be achieved by one command.
Copy a link to the library into $QHOME
.
Then:
q)\l ml/init.q