I have this dataset of a ranking of roughly 32.5k players in increasing order. The third column contains the number of players which have the corresponding score, whilst the second is the number players which by definition I'll call good.

I'd like to cluster them by score with the following restrictions.

  • There should be exactly ten clusters.
  • For logistical reasons each cluster must be roughly the same size (around 3k), more precisely each cluster should have between 1500 and 4500 players.
  • The clusters when ordered score wise, should also be ordered efficiency wise, where efficiency of a clusters is define as the number of good players (in the cluster) over the total number of players (in the cluster). Furthermore the efficiencies between clusters should be sufficiently different (say at least a 1.5%) difference.

Question: How can I use Mathematica to help me with this?

Remarks: This is a cross post, but I tried to adapt the question to Mathematica Stack Exchange.

I'm not sure if my question as it is complies with the site's standards. Please let me know how it fares to these and how to improve it. If it doesn't comply with the site's standards, is it salvageable? Can you please let me know how?

I tried to post the dataset as "code", but failed to do it. If anyone can do it for me, I'd appreciate it.

  • $\begingroup$ I would recommend to make a toy example (say, take 30 players and 5 clusters with 4-8 players) and to paste code in your question. Also it would be nice to see the final result (how your toy example should look after clustering). People do not like to download third party files, so even if you get an answer, it might be not so useful for other users. $\endgroup$ – garej Jan 31 '16 at 11:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.