Pattern Similarity-based Machine Learning Methods for Mid-term Load Forecasting: A Comparative Study