This study detects oscillations in the control loop and separates them from others by implementing supervised machine learning on generalized and normalized statistical variables. Oscillations in the control loops can result in high variability of performance, increase the costs, increment defects and potential hazards in the future. Valve stiction is one of the most important reasons for oscillatory behaviour in the process industry. The detection of this non-linear parameter becomes even more complex in the presence of other oscillating factors, such as poor controller tuning and external disturbances. The proposed method is based on a six-step algorithm. After preparing the data, the best classifier is selected from three trained classifiers Naïve Bayes, support vector machine and K-nearest neighbours’ separators. Finally, the decision tree will automatically detect and classify oscillating factors in the control loop. This method is independent of the process model, and through the decision tree, it determines the probability of occurrence of each oscillation factor in the loop. The resulting system was tested on benchmark industrial data to illustrate the effectiveness of the proposed method.