The definition of "optimal" will of course depend on your specific goals, but here are a few relatively "standard" methods: - Equal error rate (EER) point: the point where precision equals recall. This feels to some people like a "natural" operating point. - A refined and more principled version of the above is to specify cost of the different kind of errors and optimize that cost. Say misclassifying an item (an error in precision) is twice as expensive as missing an item completely (error in recall). Then the best operating point is that where (1 - recall) = 2*(1 - precision). - In some problems people have a natural minimal acceptable rate of either precision or recall. Say you know that if more than 20% of retrieved data is incorrect, the users will stop using your application. Then it is natural to set precision to 80% (or a bit lower) and accept whatever recall you have at that point.