artlib.cvi.iCVIFuzzyArt

iCVI Fuzzy ART

The original matlab code can be found at https://github.com/ACIL-Group/iCVI-toolbox/tree/master

The formulation is available at

scholarsmine.mst.edu/cgi/viewcontent.cgi?article=3833&context=doctoral_dissertations

Pages 314-316 and 319-320 Extended icvi offline mode can be found at

https://ieeexplore.ieee.org/document/9745260

Classes

iCVIFuzzyART

ICVI Fuzzy Art For Clustering.

Module Contents

class artlib.cvi.iCVIFuzzyArt.iCVIFuzzyART(rho: float, alpha: float, beta: float, validity: int, offline: bool = True)

Bases: artlib.elementary.FuzzyART.FuzzyART

ICVI Fuzzy Art For Clustering.

CALINSKIHARABASZ = 1
offline = True
iCVI_match(x, w, c_, params, cache)

Apply iCVI (incremental Cluster Validity Index) matching criteria.

Parameters:
  • x (np.ndarray) – Data sample.

  • w (np.ndarray) – Cluster weight.

  • c (int) – Cluster index.

  • params (dict) – Dictionary containing algorithm parameters.

  • cache (dict) – Cache used for storing intermediate results.

Returns:

True if the new criterion value is better than the previous one, False otherwise.

Return type:

bool

fit(X: numpy.ndarray, y: numpy.ndarray | None = None, match_reset_func: Callable | None = None, max_iter=1, match_tracking: Literal['MT+', 'MT-', 'MT0', 'MT1', 'MT~'] = 'MT+', epsilon: float = 0.0)

Fit the model to the data.

Parameters:
  • X (np.ndarray) – The dataset.

  • y (np.ndarray, optional) – Not used. For compatibility.

  • match_reset_func (callable, optional) – A callable accepting the data sample, a cluster weight, the params dict, and the cache dict. Returns True if the cluster is valid for the sample, False otherwise.

  • max_iter (int, optional) – Number of iterations to fit the model on the same dataset, by default 1.

  • match_tracking ({"MT+", "MT-", "MT0", "MT1", "MT~"}, optional) – Method for resetting match criterion.

  • epsilon (float, optional) – Epsilon value used for adjusting match criterion, by default 0.0.