Overview

nimbusml is a Python module that provides experimental Python bindings for ML.NET.

nimbusml aims to enable data science teams that are more familiar with Python to take advantage of ML.NET's functionality and performance. It provides battle-tested, state-of-the-art ML algorithms, transforms, and components. The components are authored by the team members, as well as numerous contributors from MSR, CISL, Bing, and other teams at Microsoft.

nimbusml is interoperable with scikit-learn estimators and transforms, while adding a suite of fast, highly optimized, and scalable algorithms written in C++ and C#. nimbusml trainers and transforms support the following data structures for the fit() and transform() methods:

  • numpy.ndarray
  • scipy.sparse_cst
  • pandas.DataFrame.

In addition, nimbusml also supports streaming from files without loading the dataset into memory with FileDataStream, which allows training on data significantly exceeding memory.

With FileDataStream, nimbusml is able to handle up to a billion features and billions of training examples for select algorithms.

NimbusML can be easily used for the following problems:

  • Binary classification
  • Multiclass classification
  • Regression
  • Ranking
  • Clustering

For more details, please refer to the tutorial section.

Used by

png