Without attempting to second guess your actual data, here's the process I'd recommend:
- Frame the problem to be solved: The way of displaying the information helps ROLE make sense of OBJECT in order to answer QUESTION
- Identify nodes of information
- Explore ways to put that together - patterns, metaphors, shapes, etc. This may identify more nodes of information.
- Clean, test, iterate
In more detail:
Your problem is reasonably framed apart from the role - that may help you present the information in a way that makes sense to your specific user type.
Your obvious nodes of information on one object are:
Set to which object belongs (S)
Similarity to other objects in the same set (S1)
Similarity to other objects in the other set (S2)
Similarity to any other object (S0)
But you can also create/calculate less direct nodes of information
The mean of the similarities between an object and all other objects in the same set (M1)
The mean of the similarities between an object and all other objects in the other set (M2)
The mean of the similarities between an object and all other objects (M0)
The difference between M0 and M1 (M01)
Then explore ways of bringing those together in a way that uses 2 or 3 of the meaningful nodes of information for the axes/dimensions - using position, colour, size, shape, etc.
For example plot M01 against M1 for each object with positive or negative x depending on set - whatever - just explore it.
So maybe you go through this process like this:
Then see if that exploration turns something else up, For example the angle of the best line through the points or the tightness of the clumps and number of outliers.
From this generate new nodes of information, then clean up, iterate.
This process is good for trying to visualise any type of data