This is interesting, but I feel the data are skewed somehow by certain card similarities and a few other things (that are tough to separate). For instance:
Pawn-Pearl Diver-Haven-Embargo: This group is "$2 cards picked up as afterthoughts when +Buy is around." Haven and Pawn certainly have no other similarity to each other.
Island-Great Hall is obvious, but what are Caravan and Tournament doing there? The answer is higher up the graph: the IW-Workshop-Talisman group. All four of these cards are cards that are nice to have multiples of, and/or are great to get with Workshops and Ironworks.
What's the relationship between Chancellor, Fortune Teller, Smugglers, Woodcutter, and Develop? They're great targets for Swindling Silvers. So the algorithm is counting forced gains as well actual useful gains. Hence, also, the bright red $4s: mostly they're not bought, they're gained by Swindling. I think these two groups in particular, and the one above in a more general sense, indicate that the algorithm is too heavily weighting a similarity where one card works great with a card, and nothing else does. Thus, Coppersmith and Bureaucrat have their vectors "oriented" toward Swindler and nothing else.
Removing the forced gains from the algorithm would be better, but I'm not sure that's possible.
Splitting the graph into two separate ones makes for some crazy groupings; KC and TR should be together, and Remodel and Expand should be together, but they're split across graphs. (Similarly, Witch/MB vs. Hag/YW.)
How does the algorithm decide which splits are outgroups? (I'm moving into biology terminology here.) So, for instance, the $5 chain group (Minion-Cartographer) has Tactician as an outgroup (odd), but then that family has Alchemist as an outgroup, when it clearly belongs in the first group. In a different way, consider the $5 Treasures. Cache and Contraband are by far more similar to each other and the other Treasures in the group than they are to... Tribute? Huh?
And then there are the crazy ones. Trading Post with IGG? With Forge and Mint as outgroups?? Jack as outgroup to Tunnel and FG?? Sab with Mine, Swindler with BM, Shanty Town with Lighthouse?? Weird. I wonder if those would make more sense without the split between expensive and cheap.