K-Tensors
Project description
K-Tensors: Clustering Positive Semi-Definite Matrices
Install the Package from PyPI
- Go to the terminal (mac) or command line (windows), copy and paste:
pip3 install KTensors
orpip3 install KTensors==0.1.7
for a specific version
install the Package from GitHub
- Go to the terminal (mac) or command line (windows), copy and paste:
pip3 install git+https://github.com/Hanchao-Zhang/KTensors.git
- Open a python console, copy and paste:
from KTensors import KTensors
About the Package
KTensors
KTensors(Psis, K, max_iter=1000).clustering()
input:
- Psis: a 3D array of size (n, p, p) where n is the number of matrices and p is the dimension of the positive semi-definite matrices.
- K: number of clusters
- max_iter: maximum number of iterations, default is 1000, usually finish within 10 iterations
return:
- group: a vector of length n, each element is an index of group membership
- CPCs: K orthonormal basis matrices of size p by p for each cluster
- $\mathbf F$: $\mathbf F = \mathbf B^\top \mathbf\Psi \mathbf B$
- $\text{diag}(\mathbf F)$: $\text{diag}(\mathbf F) = (\mathbf B^\top \mathbf\Psi \mathbf B) \circ \mathbf I$ the diagonal of matrix $\mathbf F$
- centers: Mean of each cluster
- loss: loss function for each iteration
KMetrics
KMetrics(Psis, K, metrics)
input:
- Psis: a 3D array of size (n, p, p) where n is the number of matrices and p is the dimension of the positive semi-definite matrices.
- K: number of clusters
- metrics: a string of metrics, including 'euclidean', 'affine_invariant', 'log_euclidean', 'log_det', and 'symmetric_stein'.
output:
- a vector of length n, each element is an index of group membership
- loss function for each iteration
Some Tecnical Details
Loss Function
$$\begin{aligned}\mathcal L(\mathbf \Psi, \mathcal P_{\mathbf B} (\mathbf \Psi) ) = \Vert \mathbf \Psi - \mathbf B((\mathbf B^\top \mathbf \Psi \mathbf B) \circ \mathbb I )\mathbf B^\top \Vert_F^2 = \Vert\mathbf B^\top \mathbf \Psi \mathbf B - (\mathbf B^\top \mathbf \Psi \mathbf B)\circ \mathbb I \Vert_F^2 \end{aligned}$$
where $\mathbb I$ is a identity matrix, and $\circ$ is the Hadamard product.
For more technical details, please refer to the paper.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
KTensors-0.1.7.tar.gz
(3.8 kB
view details)
File details
Details for the file KTensors-0.1.7.tar.gz
.
File metadata
- Download URL: KTensors-0.1.7.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29d9d111112fbfb67bd06d6e4c3ee6d4ee1d0677036185cb0297d72f2dcbc1a6 |
|
MD5 | 879a15d93f98e4dedb6aab7ffe91a794 |
|
BLAKE2b-256 | 316384f3dbca49f7898bbe6f43634aa29ea8992a31f8615c1a84ef11714747f8 |