CORCONDIA (Core Consistency Diagnostic) implementation in Python. It uses Tensorly with the Numpy backend.
pip install -U corcondia
Currently, the only implemented function is corcondia_3d
, which calculates the Core Consistency Diagnostic (CORCONDIA) for a 3D tensor. Additional arguments will be forwarded to the tensorly.decomposition.parafac
call.
An example on a random tensor is shown below.
import numpy as np
from corcondia import corcondia_3d
X = np.random.rand(5, 5, 5)
print(corcondia_3d(X, k=3))
This is based off of the original MATLAB implementation by Evangelos (Vagelis) Papalexakis:
@inproceedings{inproceedings,
author = {Papalexakis, Evangelos and Faloutsos, Christos},
year = {2015},
month = {04},
pages = {5441-5445},
title = {Fast efficient and scalable Core Consistency Diagnostic for the parafac decomposition for big sparse tensors},
doi = {10.1109/ICASSP.2015.7179011}
}
CORCONDA was first introduced by Bro and Kiers (2003) here.
Thanks to Alessandro Bessi for his initial implementation here, which led to the creation of this repo.
Also, thanks to Yorgos Tsitsikas for his valuable feedback and suggestions.