Understanding and classifying electromyogram (EMG) signals is of significance for dexterous prosthetic hand control, sign languages, grasp recognition, human-machine interaction, etc.. The existing research of EMG-based hand gesture classification faces the challenges of unsatisfied classification accuracy, insufficient generalization ability, lack of training data and weak robustness. To address these problems, this paper combines unsupervised and supervised learning methods to classify an EMG dataset consisting of 10 classes of hand gestures. To lessen the difficulty of classification, clustering methods including subtractive clustering and fuzzy c-means (FCM) clustering algorithms are employed first to obtain the initial partition of the inputs. In particular, modified FCM algorithm is proposed to accustom the conventional FCM to the multi-class classification problem. Based on the grouping information obtained from clustering, a type of two-step supervised learning approach is proposed. Specifically, a top-classifier and three sub-classifiers integrated with windowing method and majority voting are employed to accomplish the two-step classification. The results demonstrate that the proposed method achieves 100% test accuracy and the strongest robustness compared to the conventional machine learning approaches, which shows the potential for industrial and healthcare applications, such as movement intention detection, grasp recognition and dexterous prostheses control.