We use techniques from sample-complexity in machine learning to reduce problems of incentive-compatible mechanism design to standard algorithmic questions, for a wide variety of revenue-maximizing pricing problems. Our reductions imply that for these problems, given an optimal (or \beta-approximation) algorithm for the standard algorithmic problem, we can convert it into a (1+ \in)-approximation (or \beta(1+ \in)-approximation) for the incentive-compatiblemechanism design problem, so long as the number of bidders is sufficiently large as a function of an appropriate measure of complexity of the comparison class of solutions. We apply these results to the problem of auctioning a digital good, the attribute auction problem, and to the problem of itempricing in unlimited-supply combinatorial auctions. From a learning perspective, these settings present several challenges: in particular, the loss function is discontinuous and asymmetric, and the range of bidders? valuations may be large.