Tight reservoirs around the world contain a significant volume of hydrocarbons; however, the heterogeneity of these reservoirs limits the recovery of the original oil in place to less than 20%. Accurate characterization is therefore needed to understand variations in reservoir properties and their effects on production. Water saturation (Sw) has always been challenging to estimate in ultra-tight reservoirs such as the Bakken Formation due to the inaccuracy of resistivity-based methods. While machine learning (ML) has proven to be a powerful tool for predicting rock properties in many tight formations, few studies have been conducted in reservoirs of similar complexity to the Bakken Formation, which is an ultra-tight, multimineral, low-resistivity reservoir. This study presents a workflow for Sw prediction using well logs, core data, and ML algorithms. Logs and core data were gathered from 29 wells drilled in the Bakken Formation. Due to the inaccuracy and lack of robustness of the tried and tested regression models (e.g., linear regression, random forest regression) in predicting Sw as a continuous variable, the problem was reformulated as a classification task. Instead of exact values, the Sw predictions were made in intervals of 10% increments representing 10 classes from 0% to 100%. Gradient boosting and random forest classifiers scored the best classification accuracy, and these two models were used to construct a voting classifier that achieved the best accuracy of 85.53%. The ML model achieved much better accuracy than conventional resistivity-based methods. By conducting this study, we aim to develop a new workflow to improve the prediction of Sw in reservoirs where conventional methods have poor performance.