Generating rules to obtain a given categorical distribution... is it possible? I'm working on a problem, I was wondering if there are any methods available to do the following.
I have a data set with information on people (continuous and categorical data). I have 3 categories to assign to these people {A, B, C}, and I want to try and develop some rules of how to assign each person a category.
However the tricky part is, the 'target' I'm looking for is a distribution. So for example I would like to be able to pass in {.2, .05, .75} as the distribution of {A, B, C} and then have an algorithm try out different rules and splits of the data (similar to a decision tree) until it achieves the given distribution.
Are there any machine learning type methods suited to this problem? Is there a name for this type of problem? I wasn't finding anything with my googling...
Thanks
edit: Just for a little more information, the way I'm currently going to approach it is random assignment, give everyone a random number, if it's below .2 then give Category A and so on. Not ideal, but the fact that it's random is a major issue for the problem. Although I would much prefer to have a set of rules that I could use instead.
 A: Given that your primary criteria is to get the relative sizes of the classes to be as specified, you are obviously not going to have "optimal" clustering in other senses.
I don't know if this is state of the art for this problem, but I would consider using a k-means style approach to but only grow the clusters to the appropriate sizes.
For example


*

*Select 3 random points in the feature space (class centres)

*Assign the nearest fraction of points to each class centre

*Recalculate the mean of each cluster

*Repeat

*Stop when bored or convergence has occured


Basically follow the same algorithm as k-means with the added criteria that membership is restricted to the proportions you specify.
Obviously, as with ordinary k-means, this won't neccessarily give you the same clustering when you rerun with different starting points.  You could try decide on a measure of intraclass correlation, and then run the algo a few times and pick the best.
k-medians
Thinking some more, you may find k-medians more to taste for your problem.  This will result in classification based on $L_1$ norm and so will create orthogonal splits of your feature-space rather like a tree would.
