In this work, we exploit historical channel data via linear programming and machine learning tools to perform opportunistic scheduling for multiuser wireless systems under temporal fairness constraints. We first derive linear program-based scheduling (LPS) algorithms that compute the scheduling decisions from a window of past user metrics. The proposed linear program scheduling policies approach the optimal policy as the window size gets large. However, as demonstrated via simulations, even with a short window, the performance of the proposed policies can be very close to optimal. For stationary environments, we introduce a new interpretation of the scheduling problem that casts the resource allocation problem as one of statistical classification. We then propose a novel supervised classification-based scheduling (SCS) framework, which uses the LPS decisions to obtain labeled samples for training a multiclass classifier and obtaining optimal scheduling decision boundaries. In addition, as applications of the proposed classification framework, we devise efficient classification methods to learn the scheduling offsets for existing offset-driven scheduling policies.