Metaheuristics provide efficient approaches for many combinatorial problems. Research focused on improving the performance of metaheuristics has increasingly relied on either combining different metaheuristics, or leveraging methods that originate outside the field of metaheuristics. This paper presents a learning algorithm for improving tabu search by reducing its search space and evaluation effort. The learning tabu search algorithm uses classification methods in order to better motivate moves through the search space. The learning tabu search is compared to an enhanced version of tabu search that includes diversification, intensification and three neighborhoods in a physician scheduling application. We use the deterministic case to test the design of the algorithm (features and parameters) and as a proof of concept. We then solve the stochastic version of the problem. The experimental results demonstrate the benefit of using a learning mechanism under stochastic conditions.