Skip to main content

is a Python library containing reference implementations of a bunch of very useful unsupervised learning algorithms that you probably won't find elsewhere.

What is:

  • A collection of unsupervised machine learning algorithms
  • A scikit-learn compatible library
  • An educational resource containing worked examples and reference implementation

What isn't:

  • The most feature-complete or efficient implementation of these algorithms
  • A replacement for scikit-learn
  • An all-in-one machine learning framework
  • A library for complete Bayesian inference. Use a PPL like NumPyro, PyMC or Stan.

Basic usage

Install noloox from PyPI:

pip install noloox

Then you can load models from the library and use them the same way you would use scikit-learn.

from noloox.mixture import StudentsTMixture

model = StudentsTMixture(n_components=10)
cluster_labels = model.fit_predict(X)

Models

Model What do I use it for? JAX or NumPy? What algorithm?
Peax Cluster 2D data where the number of clusters is unknown. NumPy Expectation-Maximization
SNMF Factor data, where you expect the factors to be non-negative, but the data is unbounded JAX Iterative updates
WNMF NMF, but you don't want to weight all observations equally. NumPy Iterative updates
StudentsTMixture and CauchyMixture Cluster continuous data in a way that is robust to outliers. JAX Expectation-Maximization
DirichletMultinomialMixture Cluster count data/Short-text topic modelling JAX Collapsed Gibbs Sampling

Our philosophy and goals

  • Keep implementations simple and minimal, Minimal dependencies
  • Everything should either be implemented in NumPy or JAX. Preferably as many in JAX as possible.
  • Library structure should match sklearn standards, and all algorithms should be drop-in replacements for scikit-learn equivalents.
  • Under these restrictions, algorithms should be as fast as humanly possible

The wishlist:

There are a number of algorithms that would be nice to implement in the library. Contributions are very welcome.

  • ProdLDA, and amortized ProdLDA (CTMs) (without Flax)
  • Parametric-TSNE, possibly also Multi-scale Parametric-TSNE
  • DiRE
  • Infinite NMF
  • Latent Dirichlet Allocation with Gibbs Sampling
  • Gaussian LDA

Metadata

Release files for noloox 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for noloox 0.1.0
File Size Uploaded Provenance
noloox-0.1.0.tar.gz 17.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for noloox 0.1.0
File Interpreter ABI Platform
noloox-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 38.0 kB

Release files / noloox-0.1.0.tar.gz

Download URL noloox-0.1.0.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
819cb8735692fb341f95cd40d15479ed313aceb0b21c90f24efd2f782d79b21d
BLAKE2b-256 checksum
How to use checksums
9a94248ca863f0e10215ed776b94605a89e97493458919fac3c996106ac955ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.12.11 Linux/6.14.0-36-generic

Release files / noloox-0.1.0-py3-none-any.whl

Download URL noloox-0.1.0-py3-none-any.whl
Size 20.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2c16cc80282ecdd95aff0f61074c5f520348249310525b57ed3ad9bb1e55a6e9
BLAKE2b-256 checksum
How to use checksums
ee15a15f63565f7b992c5968e4596d8d9b2f159cb0a97ce176636482812bc4e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.4 CPython/3.12.11 Linux/6.14.0-36-generic

Security for noloox 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page