For the complete documentation index, see llms.txt. This page is also available as Markdown.

RumbleML

RumbleDB ML

RumbleDB ML is a Machine Learning library built on top of the RumbleDB engine that makes it more productive and easier to perform ML tasks thanks to the abstraction layer provided by JSONiq.

The machine learning capabilities are exposed through JSONiq function items. The concepts of "estimator" and "transformer", which are core to Machine Learning, are naturally function items and fit seamlessly in the JSONiq data model.

Training sets, test sets, and validation sets, which contain features and labels, are exposed through JSONiq sequences of object items: the keys of these objects are the features and labels.

The names of the estimators and of the transformers, as well as the functionality they encapsulate, are directly inherited from the SparkML library which RumbleDB ML is based on: we chose not to reinvent the wheel.

Transformers

A transformer is a function item that maps a sequence of objects to a sequence of objects.

It is an abstraction that either performs a feature transformation or generates predictions based on trained models. For example:

  • Tokenizer is a feature transformer that receives textual input data and splits it into individual terms (usually words), which are called tokens.

  • KMeansModel is a trained model and a transformer that can read a dataset containing features and generate predictions as its output.

Estimators

An estimator is a function item that maps a sequence of objects to a transformer (yes, you got it right: that's a function item returned by a function item. This is why they are also called higher-order functions!).

Estimators abstract the concept of a Machine Learning algorithm or any algorithm that fits or trains on data. For example, a learning algorithm such as KMeans is implemented as an Estimator. Calling this estimator on data essentially trains a KMeansModel, which is a Model and hence a Transformer.

Parameters

Transformers and estimators are function items in the RumbleDB Data Model. Their first argument is the sequence of objects that represents, for example, the training set or test set. Parameters can be provided as their second argument. This second argument is expected to be an object item. The machine learning parameters form the fields of the said object item as key-value pairs.

Type Annotations

RumbleDB ML works on highly structured data, because it requires full type information for all the fields in the training set or test set. It is on our development plan to automate the detection of these types when the sequence of objects gets created in the fly.

RumbleDB supports a user-defined type system with which you can validate and annotate datasets against a JSound schema.

This annotation is required to be applied on any dataset that must be used as input to RumbleDB ML, but it is superfluous if the data was directly read from a structured input format such as Parquet, CSV, Avro, SVM or ROOT.

Examples

  • Tokenizer Example:

  • KMeans Example:

RumbleDB ML Functionality Overview:

RumblDB eML - Catalogue of Estimators:

AFTSurvivalRegression

Parameters:

ALS

Parameters:

BisectingKMeans

Parameters:

BucketedRandomProjectionLSH

Parameters:

ChiSqSelector

Parameters:

CountVectorizer

Parameters:

CrossValidator

Parameters:

DecisionTreeClassifier

Parameters:

DecisionTreeRegressor

Parameters:

FPGrowth

Parameters:

GBTClassifier

Parameters:

GBTRegressor

Parameters:

GaussianMixture

Parameters:

GeneralizedLinearRegression

Parameters:

IDF

Parameters:

Imputer

Parameters:

IsotonicRegression

Parameters:

KMeans

Parameters:

LDA

Parameters:

LinearRegression

Parameters:

LinearSVC

Parameters:

LogisticRegression

Parameters:

MaxAbsScaler

Parameters:

MinHashLSH

Parameters:

MinMaxScaler

Parameters:

MultilayerPerceptronClassifier

Parameters:

NaiveBayes

Parameters:

OneHotEncoder

Parameters:

OneVsRest

Parameters:

PCA

Parameters:

Pipeline

Parameters:

QuantileDiscretizer

Parameters:

RFormula

Parameters:

RandomForestClassifier

Parameters:

RandomForestRegressor

Parameters:

StandardScaler

Parameters:

StringIndexer

Parameters:

TrainValidationSplit

Parameters:

VectorIndexer

Parameters:

Word2Vec

Parameters:

RumbleDB ML - Catalogue of Transformers:

AFTSurvivalRegressionModel

Parameters:

ALSModel

Parameters:

Binarizer

Parameters:

BisectingKMeansModel

Parameters:

BucketedRandomProjectionLSHModel

Parameters:

Bucketizer

Parameters:

ChiSqSelectorModel

Parameters:

ColumnPruner

Parameters:

CountVectorizerModel

Parameters:

CrossValidatorModel

Parameters:

DCT

Parameters:

DecisionTreeClassificationModel

Parameters:

DecisionTreeRegressionModel

Parameters:

DistributedLDAModel

Parameters:

ElementwiseProduct

Parameters:

FPGrowthModel

Parameters:

FeatureHasher

Parameters:

GBTClassificationModel

Parameters:

GBTRegressionModel

Parameters:

GaussianMixtureModel

Parameters:

GeneralizedLinearRegressionModel

Parameters:

HashingTF

Parameters:

IDFModel

Parameters:

ImputerModel

Parameters:

IndexToString

Parameters:

Interaction

Parameters:

IsotonicRegressionModel

Parameters:

KMeansModel

Parameters:

LinearRegressionModel

Parameters:

LinearSVCModel

Parameters:

LocalLDAModel

Parameters:

LogisticRegressionModel

Parameters:

MaxAbsScalerModel

Parameters:

MinHashLSHModel

Parameters:

MinMaxScalerModel

Parameters:

MultilayerPerceptronClassificationModel

Parameters:

NGram

Parameters:

NaiveBayesModel

Parameters:

Normalizer

Parameters:

OneHotEncoder

Parameters:

OneHotEncoderModel

Parameters:

OneVsRestModel

Parameters:

PCAModel

Parameters:

PipelineModel

Parameters:

PolynomialExpansion

Parameters:

RFormulaModel

Parameters:

RandomForestClassificationModel

Parameters:

RandomForestRegressionModel

Parameters:

RegexTokenizer

Parameters:

SQLTransformer

Parameters:

StandardScalerModel

Parameters:

StopWordsRemover

Parameters:

StringIndexerModel

Parameters:

Tokenizer

Parameters:

TrainValidationSplitModel

Parameters:

VectorAssembler

Parameters:

VectorAttributeRewriter

Parameters:

VectorIndexerModel

Parameters:

VectorSizeHint

Parameters:

VectorSlicer

Parameters:

Word2VecModel

Parameters:

Last updated