Common helper functions for testing the ML algorithms in the rest of the repo.

Utilities for writing unit tests


Check that an array X is symmetric along its main diagonal


Check that a matrix X is a symmetric and positive-definite.


True if X contains probabilities that sum to 1 along the columns


Check that a value a is numeric


Return True if array x is a binary array with a single 1


Return True if array x consists only of binary values

numpy_ml.utils.testing.random_one_hot_matrix(n_examples, n_classes)[source]

Create a random one-hot matrix of shape (n_examples, n_classes)

numpy_ml.utils.testing.random_stochastic_matrix(n_examples, n_classes)[source]

Create a random stochastic matrix of shape (n_examples, n_classes)

numpy_ml.utils.testing.random_tensor(shape, standardize=False)[source]

Create a random real-valued tensor of shape shape. If standardize is True, ensure each column has mean 0 and std 1.

numpy_ml.utils.testing.random_binary_tensor(shape, sparsity=0.5)[source]

Create a random binary tensor of shape shape. sparsity is a value between 0 and 1 controlling the ratio of 0s to 1s in the output tensor.

numpy_ml.utils.testing.random_paragraph(n_words, vocab=None)[source]

Generate a random paragraph consisting of n_words words. If vocab is not None, words will be drawn at random from this list. Otherwise, words will be sampled uniformly from a collection of 26 Latin words.

exception numpy_ml.utils.testing.DependencyWarning[source]

Bases: RuntimeWarning


Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.