Classification of multidimensional data to multidimensional clusters with a varying subcluster structure I have a large dataset with mixed (numerical, categorical, textual) data that I need to classify. The clusters are well-defined, but multidimensional (i.e. vector-valued) and have a varying structure as follows:

Cluster Structure 1: $(x_1, * , * , ... , * )$

Cluster Structure 2: $(x_1, x_2, * , ... , * )$

Cluster Structure 3: $(x_1, * , x_3, ..., * )$

...

Cluster Structure N: $(x_1, x_2, x_3, ... , x_m)$


where asterisks ($*$) indicate missing component entries, and each component, when present, (e.g. $x_2$) is a cluster to be identified. The Cluster Structures are disjoint in the sense that each member of the data set is only assigned to one Cluster Structure, but Cluster Structures can share components. For example, Cluster Structure 1 only consists of one &quot;subcluster&quot; ($x_1$) to be identified, whereas Cluster Structures 2 and 3 have two subclusters to be identified, with one of the clustering subproblems ($x_1$) shared and the other ($x_2$ vs. $x_3$) being different. The subcluster $x_1$ (and only that) is present in all Cluster Structures.
For each member of the dataset, I need to classify both the Cluster Structure and the associated tuplet of component clusters $x_i$, but I am not sure if it is better to treat these clustering problems sequentially (first structure then subclusters) or independently of each other (separate classifier for each structure). I could, of course, also define a &quot;metacluster&quot; as $(S, x_1, x_2, x_3, ..., x_m)$ where $S$ is the Cluster Structure id to be classified, but then I'd be treating each cluster structure identically when in fact classification within Cluster Structure 1 (once identified) is potentially much easier than in Cluster Structure N as there is only one subcluster to be identified (namely $x_1$).
I would be interested in any existing solutions (algorithms, research papers etc) that would apply, even remotely, to this problem.
You can pose this as multi-class classification problem (all sub-clusters becomes classes). Since, your input length varies, you should pad your input to get the length equal for all inputs. You can then use neural networks (1D Conv layers followed by Dense and Softmax) to classify this.
An alternate approach to do this would be using tree-based approach where missing values can be handled. Look at CatBoost classifier. This would also require you to pose your problem as multi-class classification.