Basically, I have a giant set of data that exists in pairs (A1A2B1B2C1C2...) and each piece of data has >100 variables. I'm trying to separate that data into two distinct groups, but I don't know which of each pairs goes in which group. So I could end up with A1B2C1... and A2B1C2..., or A1B1C2... and A2B2C1..., etc. Is there any kind of algorithm that could sort the data into two groups to minimize the error within each group? The long way would be a series of SVM where I randomize the outcome and keep running an SVM until the error is minimized.
edit: I had the idea to do something like K-means clustering but instead of assigning a point to the nearest centroid, it compares the distances of both members of the pair so only one can be assigned to each centroid. I'll edit again with the result.