1. A computer program product for estimating algorithm run times given parameters of the algorithm, specifications of an architecture on which the algorithm will execute and dimensions of a data set which will be input into the algorithm, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being readable and executable by a processing circuit to cause the processing circuit to: deploy the algorithm for execution on the architecture; create training data sets derived from the execution of the algorithm on the architecture; generate run time data associated with respective executions of parameterized instances of the algorithm on the architecture for each of the training data sets; identify model-usable features from polynomial expansions of the dimensions of the data set, the parameters of the algorithm and the specifications of the architecture reduced to simpler terms, wherein the specifications of the architecture comprise disk throughput data, central processing unit (CPU) frequency data, an inversion of available random access memory data and memory bandwidth data; generate a piecewise map of some or all of the model-usable features to output an expression of the run time data as a conglomeration of multiple map lines in corresponding ones of multiple map regions, respectively, the multiple map regions being respectively defined along a single axis of the piecewise map; iteratively tune the some or all of the model-usable features in each of the multiple map regions toward improving an accuracy of each of the multiple map lines of the piecewise map relative to target upper and lower range lines until a target accuracy in each of the multiple map regions is achieved; develop a predictive model based on iteratively tuned versions of the model-usable features in the multiple map regions; and estimate a run time of an execution of the algorithm on a new data set and on a new architecture using the predictive model.