Mixclu is an open-source python package for doing unsupervised mix data types clustering. This includes a variety of combination models including kmeans-onehot, gower distance, umap etc. The goal is to provide an easy to use implementation for each algorithm along with a scikit-learn API.
from mixclu import *
id_col, cat_columns, con_col = get_types(df)
""" define continuous and categorical columns"""
umap_kbins_emd, kbins_umap_model = categorical_embedding_model(df, 
                                                            bin_con_columns = con_col, 
                                                            no_of_clusters  = 4,
                                                            bin_bins        = 5)from mixclu import *
"""Kmeans one hot mix model"""
model_result = kmeans_onehot_mix(df, 
                               cat_columns, 
                               total_clusters = 4)
                               from mixclu import *
"""using gower distance as embeddings"""
clusters, gower_embeddings = kmoid_grower(df, 
                                           cat_columns, 
                                           no_of_clusters = 4)
                               from mixclu import *
"""(Mirkin, 2005, pp. 85–91)"""
z_score, model_result = Mirkin_model(df, 
                                     cat_columns, 
                                     no_of_clusters = 4)
                               - Autoencoder, Vae based clustering
 - Tabformer, tabnet based embeddings then clustering
 - Implement paper : Affinity Learning for Mixed Data Clustering
 - Implement paper : A Multi-View Clustering for Mixed Data
 - Plot clustering functions