Machine Learning for Subsurface Characterization develops and applies neural networks, random forests, deep learning, unsupervised learning, Bayesian frameworks, and clustering methods for subsurface characterization. Machine learning (ML) focusses on developing computational methods/algorithms that learn to recognize patterns and quantify functional relationships by processing large data sets, also referred to as the "big data." Deep learning (DL) is a subset of machine learning that processes "big data" to construct numerous layers of abstraction to accomplish the learning task. DL methods do not require the manual step of extracting/engineering features; however, it requires us to provide large amounts of data along with high-performance computing to obtain reliable results in a timely manner. This reference helps the engineers, geophysicists, and geoscientists get familiar with data science and analytics terminology relevant to subsurface characterization and demonstrates the use of data-driven methods for outlier detection, geomechanical/electromagnetic characterization, image analysis, fluid saturation estimation, and pore-scale characterization in the subsurface.