19. A non-transitory computer-readable storage device encoded with instructions which, when executed by one or more computers, cause the one or more computers to perform operations comprising: training each of a plurality of predictive models using training data, wherein the predictive models include two or more predictive models of a same type that are trained with different combinations of features of the training data; generating, for each of the plurality of trained predictive models, a respective score that represents an estimation of an effectiveness of the respective trained predictive model; receiving a request for a prediction that includes input data from a client system; in response to receiving the request for the prediction, selecting a first subset of the plurality of trained predictive models based on the respective scores of the trained predictive models in the first subset, wherein the plurality of trained predictive models includes the first subset and a second subset, each subset comprises at least one trained predictive model, the first subset and the second subset are disjoint sets, and the predictive models in the first subset have higher respective scores than predictive models that were not selected; obtaining a respective predictive output from only each of the selected predictive models in the first subset based on the request and using the input data; combining the predictive outputs to generate a result; and providing the result to the client system.
19. A non-transitory computer-readable storage device encoded with instructions which, when executed by one or more computers, cause the one or more computers to perform operations comprising: training each of a plurality of predictive models using training data, wherein the predictive models include two or more predictive models of a same type that are trained with different combinations of features of the training data; generating, for each of the plurality of trained predictive models, a respective score that represents an estimation of an effectiveness of the respective trained predictive model; receiving a request for a prediction that includes input data from a client system; in response to receiving the request for the prediction, selecting a first subset of the plurality of trained predictive models based on the respective scores of the trained predictive models in the first subset, wherein the plurality of trained predictive models includes the first subset and a second subset, each subset comprises at least one trained predictive model, the first subset and the second subset are disjoint sets, and the predictive models in the first subset have higher respective scores than predictive models that were not selected; obtaining a respective predictive output from only each of the selected predictive models in the first subset based on the request and using the input data; combining the predictive outputs to generate a result; and providing the result to the client system. 21. The storage device of claim 19 wherein the respective score is based on, at least, an estimate of resource usage costs for the trained model.