One of the major issues facing business leaders within companies is the loss of talented employees. Several factors that might lead to employee attrition are studied to predict whether a certain employee is leaving or not. Predicting Employee Attrition using Machine Learning is the aim of this research. This research studies employee attrition using machine learning models with public data provided by IBM. Real-world datasets may include a large number of features, that's why this research used three different methods for features selection: using all features, Weka techniques, and features used in literature. After preprocessing data and performing label encoding, dataset was splatted into training and test set. Several classifiers include K-nearest neighbors (KNN), Naive Bayes, Random Forest and Support Vector Machines (SVM) have been trained on 80% of data and they were validated using cross validation. Models that gave a better performance on training were used to test on unseen data. To evaluate those trained models on test set, several evaluation metrics were used. For the highest performing model SVM with accuracy 85.3% and f1-score 81%. To investigate more in the performance of SVM, an evaluation metric known as AUC ROC (Area Under the Receiver Operating Characteristics) were used.