I have a database of tags given by users to the product. For example
user; product; tag
1; A; Tag1
1; A; Tag2
2; A; Tag1
2; B; Tag1
..
..
I am trying to cluster tags which are given together to any product. At the end I want to visualize them like PCA plot where I can see clusters of tags which are 'closer' (tendency of user to assign these tags together) to each other. So far I can think of applying t-SNE or simply PCA to get some kind of clustering with available tags.
For this purpose, I made frequency matrix like following
first_tag; second_tag; occurrence
Tag1; Tag2; 2393
Tag1; Tag3; 38
Tag2; Tag3; 8393
..
..
I am stuck here. I don't know how to proceed with clustering. I simply tried visualizing it with networkx
library of python
where I made edges with 'first_tag' and 'second_tag' and 'occurrence' as its weight. But it was futile exercise, I couldn't get anything out of it. I thought of using sklearn.decomposition
PCA but I am struggling to convert this data-set into proper matrix which can be fed to such algorithms. I can always make n x n
matrix by making rows and columns equal to number of tags but it was causing very slow and sometimes out of memory errors. Any other elegant solution for this?