Different feature selection methods like SVD, SelectKBest, RFE are used to choose best features, then different machine learning algorithms like Random Forest, Gradient Boosting Tree, XGBoost together with GridsearchCV etc are applied and compared to choose the good model which is the best fit for the dataset.