Sparse CCA Variants Comparison#

This script illustrates the training and evaluation of various Sparse Canonical Correlation Analysis (CCA) variants using synthetic data. For each variant, model weights are visualized, and their performance is compared based on their correlation score on validation data.

  • CCA, True x weights, True y weights, Model x weights, Model y weights
  • PLS, True x weights, True y weights, Model x weights, Model y weights
  • Span CCA, True x weights, True y weights, Model x weights, Model y weights
  • SCCA_IPLS, True x weights, True y weights, Model x weights, Model y weights
  • SCCA_IPLS+, True x weights, True y weights, Model x weights, Model y weights
  • PMD, True x weights, True y weights, Model x weights, Model y weights
  • ElasticCCA, True x weights, True y weights, Model x weights, Model y weights
  • Comparison of Models by Validation Correlation
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/100 [00:00<?, ?it/s]
Epochs:   1%|          | 1/100 [00:00<00:01, 68.38it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  7.72it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  7.70it/s]
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   2%|▏         | 1/50 [00:00<00:01, 41.16it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 36.56it/s]
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   2%|▏         | 1/50 [00:00<00:01, 48.10it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 41.97it/s]
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.76it/s]
Epochs:   8%|▊         | 4/50 [00:00<00:02, 16.96it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  2.87it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  2.87it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.89it/s]
Epochs:   8%|▊         | 4/50 [00:00<00:02, 19.76it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.18it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.18it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.60it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.80it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.79it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.78it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:02, 22.29it/s]
Epochs:  12%|█▏        | 6/50 [00:00<00:01, 24.14it/s]
Epochs:  12%|█▏        | 6/50 [00:00<00:02, 19.90it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  2.30it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  2.30it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.68it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.53it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.52it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.25it/s]
Epochs:   8%|▊         | 4/50 [00:00<00:02, 16.30it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.00it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.00it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.48it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:02, 15.94it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.31it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.31it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.05it/s]
Epochs:   8%|▊         | 4/50 [00:00<00:02, 18.15it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.39it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.39it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:02, 21.58it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:02, 17.19it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.99it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.98it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.42it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:03, 15.18it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.28it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.27it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:01, 27.17it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:02, 21.77it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.68it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.68it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.07it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.39it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.46it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.46it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.09it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.90it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.90it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.05it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.69it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.68it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.74it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.49it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.49it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:02, 21.92it/s]
Epochs:   8%|▊         | 4/50 [00:00<00:02, 19.05it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.47it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.47it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.21it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:03, 15.28it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.69it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.68it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.94it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.43it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.13it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.12it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.74it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 12.50it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.22it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.22it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.63it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.19it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.12it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.11it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.39it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.74it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.74it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.87it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 12.75it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.56it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.56it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.11it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 12.36it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.81it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.81it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.06it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 12.23it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.61it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.61it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.72it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 13.27it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.56it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.56it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.94it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.26it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.25it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.10it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.39it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.38it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 19.69it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.84it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.77it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.76it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 18.49it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 13.57it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.34it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.34it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 19.43it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.86it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.68it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.67it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.59it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.30it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.38it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.38it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.33it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.79it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.79it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.02it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.34it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.34it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:01, 29.55it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.67it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.67it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 20.11it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.96it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.96it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.50it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.79it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.79it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.71it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.21it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.20it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.30it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.67it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.67it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 14.46it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.61it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.61it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 15.50it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:04, 11.96it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.32it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  3.32it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   6%|▌         | 3/50 [00:00<00:01, 24.23it/s]
Epochs:   8%|▊         | 4/50 [00:00<00:01, 23.19it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.04it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.04it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:01, 35.95it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  6.33it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  6.32it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 17.39it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.42it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.42it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:01, 29.64it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.10it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.10it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 21.31it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.40it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  5.39it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Epochs:   0%|          | 0/50 [00:00<?, ?it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:02, 16.93it/s]
Epochs:   4%|▍         | 2/50 [00:00<00:03, 13.40it/s]

Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.01it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00,  4.01it/s]
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 30.69it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 27.56it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 65.71it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 72.97it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 70.86it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 48.00it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 48.21it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 46.98it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 21.67it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 18.94it/s]

Latent Dimension:   0%|          | 0/1 [00:00<?, ?it/s]
Latent Dimension: 100%|██████████| 1/1 [00:00<00:00, 19.44it/s]
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/latest/lib/python3.11/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead
  if pd.api.types.is_categorical_dtype(vector):

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split

from cca_zoo.datasets import JointData
from cca_zoo.linear import (
    CCA,
    PLS,
    SCCA_IPLS,
    SPLS,
    ElasticCCA,
    SCCA_Span,
)
from cca_zoo.model_selection import GridSearchCV

# Plotting Configuration
# Set a consistent color scheme for NeurIPS paper
palette = "colorblind"
colorblind_palette = sns.color_palette(palette, as_cmap=True)
sns.set_style("whitegrid")
sns.set_context(
    "paper",
    font_scale=2.0,
    rc={"lines.linewidth": 2.5},
)
plt.close("all")


def plot_true_weights_coloured(ax, weights, true_weights, title="", legend=False):
    """
    Create a scatterplot of weights_ differentiating between zero and non-zero true weights.
    """
    weights = np.squeeze(weights)
    ind = np.arange(len(true_weights))
    mask = np.squeeze(true_weights == 0)

    non_zero_df = pd.DataFrame(
        {"Index": ind[~mask], "Weights": weights[~mask], "Type": "Non-Zero Weights"}
    )
    zero_df = pd.DataFrame(
        {"Index": ind[mask], "Weights": weights[mask], "Type": "Zero Weights"}
    )
    data_df = pd.concat([non_zero_df, zero_df])

    sns.scatterplot(
        data=data_df,
        x="Index",
        y="Weights",
        hue="Type",
        ax=ax,
        palette="viridis",
        legend=legend,
    )
    ax.set_title(title)


def plot_model_weights(wx, wy, tx, ty, title="", save_path=None):
    """
    Plot weights of the model against the true weights.
    """
    fig, axs = plt.subplots(2, 2, sharex=True, sharey=True)
    plot_true_weights_coloured(axs[0, 0], tx, tx, title="True x weights")
    plot_true_weights_coloured(axs[0, 1], ty, ty, title="True y weights")
    plot_true_weights_coloured(axs[1, 0], wx, tx, title="Model x weights")
    plot_true_weights_coloured(axs[1, 1], wy, ty, title="Model y weights", legend=True)
    plt.legend([], [], frameon=False)
    fig.suptitle(title)
    sns.despine(trim=True)
    plt.tight_layout()
    if save_path:
        plt.savefig(save_path)
    else:
        plt.show(block=False)


# Data Generation
np.random.seed(42)
n, p, q = 500, 200, 200
latent_dimensions = 1
view_1_sparsity, view_2_sparsity = 0.1, 0.1
data = JointData(
    view_features=[p, q],
    latent_dimensions=latent_dimensions,
    sparsity_levels=[view_1_sparsity, view_2_sparsity],
    correlation=[0.9],
    positive=True,
)
(X, Y) = data.sample(n)
tx, ty = data.true_features[0], data.true_features[1]
X_train, X_val, Y_train, Y_val = train_test_split(X, Y, test_size=0.2)


def train_and_evaluate(model, title):
    """
    Helper function to train, evaluate, and visualize weights of a model.
    """
    model.fit([X_train, Y_train])
    plot_model_weights(model.weights_[0], model.weights_[1], tx, ty, title=title)
    return model.score([X_val, Y_val])


# Model Training and Evaluation
epochs = 50
cca_corr = train_and_evaluate(CCA(), "CCA")
pls_corr = train_and_evaluate(PLS(), "PLS")
span_cca_corr = train_and_evaluate(
    SCCA_Span(tau=[10, 10], early_stopping=True), "Span CCA"
)
scca_corr = train_and_evaluate(
    SCCA_IPLS(alpha=[1e-2, 1e-2], epochs=epochs, early_stopping=True), "SCCA_IPLS"
)
scca_pos_corr = train_and_evaluate(
    SCCA_IPLS(alpha=[1e-2, 1e-2], positive=True, epochs=epochs, early_stopping=True),
    "SCCA_IPLS+",
)

# Grid Search for ElasticCCA and PMD models
param_grid_pmd = {"tau": [[0.1, 0.5, 0.9], [0.1, 0.5, 0.9]]}
pmd = GridSearchCV(
    SPLS(epochs=epochs, early_stopping=True), param_grid=param_grid_pmd
).fit([X_train, Y_train])
pmd_corr = pmd.score([X_val, Y_val])
plot_model_weights(
    pmd.best_estimator_.weights_[0],
    pmd.best_estimator_.weights_[1],
    tx,
    ty,
    title="PMD",
)

param_grid_elastic = {"alpha": [1e-2, 1e-3]}
elastic = GridSearchCV(
    ElasticCCA(epochs=epochs, early_stopping=True, l1_ratio=0.99),
    param_grid=param_grid_elastic,
).fit([X_train, Y_train])
elastic_corr = elastic.score([X_val, Y_val])
plot_model_weights(
    elastic.best_estimator_.weights_[0],
    elastic.best_estimator_.weights_[1],
    tx,
    ty,
    title="ElasticCCA",
)

# Results Visualization
results_df = pd.DataFrame(
    {
        "Model": [
            "CCA",
            "PLS",
            "Span CCA",
            "PMD",
            "SCCA_IPLS",
            "SCCA_IPLS (Positive)",
            "Elastic CCA",
        ],
        "Validation Correlation": [
            cca_corr.item(),
            pls_corr.item(),
            span_cca_corr.item(),
            pmd_corr.item(),
            scca_corr.item(),
            scca_pos_corr.item(),
            elastic_corr.item(),
        ],
    }
)

plt.figure(figsize=(10, 5))
sns.barplot(x="Model", y="Validation Correlation", data=results_df, palette="viridis")
plt.xticks(rotation=90)
plt.title("Comparison of Models by Validation Correlation")
plt.tight_layout()
plt.show()

Total running time of the script: (0 minutes 16.809 seconds)

Gallery generated by Sphinx-Gallery