In the face of growing and complex network threats, intrusion detection systems are important to detect and mitigate these network threats. Existing research has shown that using a single machine learning classifier or traditional ensemble model for threat detection methods cannot adapt to today's complex network environment. To address the above problems, this paper proposes a novel voting model based on ensemble learning to handle hard-to-classify data such as complex network datasets. This model combines multiple voting mechanisms, and also supports human intervention for more complex data where the classification results may not be highly accurate. The model adopts a voting mechanism among seven base models which includes decision tree, LightGBM, linear discriminant analysis, logistic regression, random forest, gaussian naive bayes, and AdaBoost. The resulting ensemble model has been trained and validated on three popular datasets KDDCup99, UNSW-NB15, CIC-IDS2017 and an additional dataset namely “UC dataset” obtained from University of Cincinnati. We use the popular four metrics of accuracy, precision, recall and f1-score to measure the effectiveness of the model. The results show that the accuracy of the classifiers can be improved to more than 0.99. The model can also be used to effectively improve low-performing classifiers.