tropea_clustering.onion_uni

tropea_clustering.onion_uni(X, bins='auto', number_of_sigmas=2.0)[source]

Performs onion clustering on the data array ‘X’.

Parameters:
  • X (ndarray of shape (n_particles * n_windows, tau_window)) – The raw data. Notice that each signal window is considered as a single data point.

  • bins (int, default="auto") – The number of bins used for the construction of the histograms. Can be an integer value, or “auto”. If “auto”, the default of numpy.histogram_bin_edges is used (see https://numpy.org/doc/stable/reference/generated/numpy.histogram_bin_edges.html#numpy.histogram_bin_edges).

  • number_of_sigmas (float, default=2.0) – Sets the thresholds for classifing a signal window inside a state: the window is contained in the state if it is entirely contained inside number_of_sigmas * state.sigmas times from state.mean.

Returns:

  • states_list (List[StateUni]) – The list of the identified states. Refer to the documentation of StateUni for accessing the information on the states.

  • labels (ndarray of shape (n_particles * n_windows,)) – Cluster labels for each signal window. Unclassified points are given the label -1.

Example

import numpy as np
from tropea_clustering import onion_uni, helpers

# Select time resolution
tau_window = 5

# Create random input data
np.random.seed(1234)
n_particles = 5
n_steps = 1000

input_data = np.random.rand(n_particles, n_steps)

# Create input array with the correct shape
reshaped_input_data = helpers.reshape_from_nt(
    input_data, tau_window,
)

# Run Onion Clustering
state_list, labels = onion_uni(reshaped_input_data)